# 绘图模式常量（Draw Mode Constants）

这些是[page:Mesh.drawMode]的有效值，控制着顶点列表一旦被发送到GPU中将如何被解释。

## 绘图模式

`THREE.TrianglesDrawMode`

这是默认值，这将使得每三个连续顶点(v0, v1, v2)，(v3, v4, v5)，……被解释为一个单独的三角形。
如果顶点的数量不是3的倍数，那么将会忽略多余的顶点。

`THREE.TriangleStripDrawMode`

这将使得一系列的三角形（由(v0, v1, v2)，(v2, v1, v3)，(v2, v3, v4)，……给定）一个一个地连在一起，每一个连续的三角形将和前一个三角形共享两个顶点。

`THREE.TriangleFanDrawMode`

这将会使得一个序列中的每一个三角形（由(v0, v1, v2)，(v0, v2, v3)，(v0, v3, v4)，……给定）共享它们的第一个顶点（就像风扇一样）。
注意：截至[link:https://en.wikipedia.org/wiki/DirectX#DirectX_10 DirectX10]这个模式还没有被支持。 由于Chorme和Firefox在Windows上是使用[link:https://en.wikipedia.org/wiki/ANGLE_(software) ANGLE]来渲染WebGL的，所以这种模式将会在内部转换为受支持的模式， 但可能会导致这些浏览器在性能上降低一些。

## 用法

`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]