Browse Source

Merge pull request #9980 from looeee/docs/constants/drawModes/improve

Improved Docs / Constants / DrawModes
Mr.doob 8 years ago
parent
commit
bc2fd940af
1 changed files with 63 additions and 4 deletions
  1. 63 4
      docs/api/constants/DrawModes.html

+ 63 - 4
docs/api/constants/DrawModes.html

@@ -10,13 +10,72 @@
 	<body>
 		<h1>Draw Mode Constants</h1>
 
-		<h2>Draw Mode</h2>
+		<div 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 />
+
+
+
+		</div>
+
+		<h2>Draw Modes</h2>
+
+		<code>
+			THREE.TrianglesDrawMode
+		</code>
+		<div>
+			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.
+		</div>
+
+		<code>
+			THREE.TriangleStripDrawMode
+		</code>
 		<div>
-		THREE.TrianglesDrawMode<br />
-		THREE.TriangleStripDrawMode<br />
-		THREE.TriangleFanDrawMode
+			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.
 		</div>
 
+		<code>
+			THREE.TriangleFanDrawMode
+		</code>
+		<div>
+			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.
+		</div>
+
+
+		<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]