8

我正在使用 THREE.Geometry 实例创建一个网格,然后填充几何的verticesfaces数组。几何图形被迭代细化,在每次迭代中添加额外的顶点和面。如果我在将网格添加到场景之前优化几何,它会正确渲染。但是,如果我将网格添加到场景中并对其进行渲染,然后对其进行修改,则只会显示第一次渲染中包含的几何图形的初始 N 个面。对这些面使用的顶点位置的更改得到尊重,但仅渲染那 N 个面。

几何实例被标记dynamic = true,我设置verticesNeedUpdateelementsNeedUpdate每次buffersNeedUpdate修改几何后。我还尝试设置所有其他“脏”标志,尽管我只希望设置这三个(即使那样,我也不确定是否需要 buffersNeedUpdate)。

据我所知,几何的geometryGroupgeometryGroupList属性是从第一次渲染网格时存在的面构建和填充的,但没有重新构建以包含随后添加的面。

我究竟做错了什么?

4

1 回答 1

9

我假设您正在使用WebGLRenderer.

正如 three.js wiki 文章How to Update Things中所述,您只能更新缓冲区的内容,不能调整缓冲区的大小。

三.js r.59

于 2013-07-24T19:17:09.143 回答