These are valid values for [page:Mesh.drawMode], and control how the list of vertices is interpeted once sent to the GPU.
THREE.TrianglesDrawMode
This is the default, and results in every three consecutive vertices (v0, v1, v2), (v3, v4, v5), ...
being interpreted as a separate triangle.
If the number of vertices is not a multiple of 3, excess vertices are ignored.
THREE.TriangleStripDrawMode
This will result in a series of triangles connected in a strip, given by (v0, v1, v2), (v2, v1, v3), (v2, v3, v4), ... so that every subsequent triangle shares two vertices with the previous triangle.
THREE.TriangleFanDrawMode
This will result in a series of triangles each sharing the first vertex (like a fan),
given by (v0, v1, v2), (v0, v2, v3), (v0, v3, v4), ...
Note: As of [link:https://en.wikipedia.org/wiki/DirectX#DirectX_10 DirectX10], this mode is not supported. As Chrome and Firefox
render WebGL using [link:https://en.wikipedia.org/wiki/ANGLE_(software) ANGLE] on Windows,
internally this mode will be converted to a supported mode, which will likely lead to lowered
performance on those browsers.
var geometry = new THREE.BufferGeometry();
var vertices = [];
vertices.push( -10, 10, 0 );
vertices.push( -10, -10, 0 );
vertices.push( 10, -10, 0 );
// ...
geometry.addAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var mesh = new THREE.Mesh( geometry, material );
mesh.drawMode = THREE.TrianglesDrawMode; //default
scene.add( mesh );
[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]