为Line和Mesh

时间:2016-02-03 15:17:41

标签: javascript three.js indices buffer-geometry

我正在学习如何充分利用我的缓冲区几何形状。我慢慢开始了解他们的工作方式以及不同的可能性。

但是现在我想要一个带有轮廓的网格:

enter image description here

     3------------------------------------------------2
     /                                                 \
    /                                                   \
   /                                                     \
  /                                                       \
 0---------------------------------------------------------1

要获取网格,我需要定义两个面( 0, 1, 2 )( 0, 2, 3 )。因此,要绘制此网格,我的indices数组将如下所示:

var indices = [ 0, 1, 2, 0, 2, 3 ];

但是为了绘制轮廓,我需要按照(0, 1, 2, 3, 0)的顺序连接点,所以我的行索引数组看起来像这样:

var indices = [0, 1, 2, 3, 0];

但我只能为我的THREE.BufferGeometry实例定义一个索引数组。因此,为了绘制两者,我需要克隆几何体并在连接到Mesh后添加它,并将其作为Line添加一次。这意味着所有位置都存储了两次。

我是否可以使用相同的缓冲区几何图形来绘制直线和网格。以某种方式通过传递两个索引数组或通过例如将它们组合成一个并使用偏移量来提及here in this question

这可以正常工作,因为您可以看到我的 fiddle

0 个答案:

没有答案