1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <base href="../../../" />
- <script src="list.js"></script>
- <script src="page.js"></script>
- <link type="text/css" rel="stylesheet" href="page.css" />
- </head>
- <body>
- <h1>Draw Mode Constants</h1>
- <p class="desc">
- These are valid values for [page:Mesh.drawMode], and control how the list of vertices is interpeted once sent to the GPU.<br /><br />
- 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.<br /><br />
- </p>
- <h2>Draw Modes</h2>
- <code>
- THREE.TrianglesDrawMode
- </code>
- <p>
- This is the default, and results in every three consecutive vertices (v0, v1, v2), (v2, v3, v5), ...
- being interpreted as a separate triangle. <br />
- If the number of vertices is not a multiple of 3, excess vertices are ignored.
- </p>
- <code>
- THREE.TriangleStripDrawMode
- </code>
- <p>
- 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.
- </p>
- <code>
- THREE.TriangleFanDrawMode
- </code>
- <p>
- 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), ... <br /><br />
- <em>Note:</em> 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.
- </p>
- <h2>Usage</h2>
- <code>
- 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 );
- </code>
- <h2>Source</h2>
- [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
- </body>
- </html>
|