Skip to content Skip to sidebar Skip to footer

Three.js Linewidth Contradiction

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. On the other hand we ha

Solution 1:

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) lineWidthmay 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).

Solution 2:

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?

Post a Comment for "Three.js Linewidth Contradiction"