Draw Mode Constants

These are valid values for [page:Mesh.drawMode], and control how the list of vertices is interpeted once sent to the GPU.

Note that these only work when [page:Mesh.geometry] is a [page:BufferGeometry]. Changing this when [page:Mesh.geometry] is a [page:Geometry] will have no effect.

Draw Modes

THREE.TrianglesDrawMode

This is the default, and results in every three consecutive vertices (v0, v1, v2), (v2, v3, 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.

Usage

var geometry = new THREE.Geometry(); geometry.vertices.push( new THREE.Vector3( -10, 10, 0 ), new THREE.Vector3( -10, -10, 0 ), new THREE.Vector3( 10, -10, 0 ), ... ); geometry.faces.push( new THREE.Face3( 0, 1, 2 ), ... ); var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } ); var mesh = new THREE.Mesh( geometry, material ); mesh.drawMode = THREE.TrianglesDrawMode; //default scene.add( mesh );

Source

[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]