I noted that at the LineBasicMaterial THREE documentation is said that on Windows systems the linewidth is set-up automatically to 1 and cannot be changed.
The example you linked uses the CanvasRenderer
(not the WebGLRenderer
) which does support lineWidth
. WebGLRenderer
however has to rely on what the WebGL implementation provides.
On Windows, both Chrome and Firefox default to using ANGLE (some layer on top of DirectX) which does not support lineWidth
. Firefox on Windows can however be switched to OpenGL, and then (depending on the video card drivers) lineWidth
may be supported.
(Chrome has a command line option to switch it to OpenGL mode, but that's no longer a supported or functional configuration, it just hangs on startup ... you don't need to bother trying).
I would guess that the documentation is outdated there. Because the example that you linked does indeed set:
currentIntersected.material.linewidth = 5;
where currentIntersected instanceof THREE.Line
and currentIntersected.material instanceof THREE.LineBasicMaterial
After the value is set to 5, if I try to get it, it does indeed return 5, and the line renders as thick. Even in IE on Windows.
If it doesn't work for you, can you please post your example in a jsfiddle or something?
PS: did you remember to call render?