Three.js基于顶点颜色的颜色面

时间:2015-05-10 08:17:28

标签: javascript opengl-es colors three.js

我有一个网格,并设置了如下所示的顶点颜色:

var vertColors = MyPolygonProto.polygons[iBorderCounter].polyMesh.geometry.colors;
vertColors[vertCount] = new THREE.Color(finalColor.r, finalColor.g, finalColor.b);

其中polyMesh是网格。我想根据几何图形改变面的颜色。

我能够实现此处显示的技术:  How to change face color in Three.js

但是当它们被多个面共享时,必须多次遍历同一个顶点似乎效率低下。一种技术,其中每个面基于其在mesh.geometry.colors数组中列出的顶点颜色自动内插它的颜色似乎更有效。

Three.js中是否存在此功能?

1 个答案:

答案 0 :(得分:0)

根据three.js文档,顶点颜色不能以这种方式使用。您必须使用每面顶点颜色。

顶点颜色的文档:

  

顶点颜色数组,匹配数字和顶点顺序。用于   PointCloud和Line。网格使用嵌入的每面使用顶点颜色   直接在脸上。要发出此阵列中的更新信号,   需要将Geometry.colorsNeedUpdate设置为true。