渲染后将几何体添加到three.js网格中

lha*_*r71 8 geometry mesh dynamic three.js

我正在创建一个带有THREE.Geometry实例的网格,然后动态填充几何体verticesfaces数组.迭代地细化几何体,在每次迭代时添加额外的顶点和面.如果在将网格物体添加到场景之前优化几何体,则会正确渲染.但是,如果我将网格物体添加到场景并渲染它,然后修改它,则只显示初始N面朝向第一个渲染所包含的几何体.对这些面使用的顶点位置的更改将受到尊重,但只会渲染那些N面.

几何实例被标记dynamic = true了,我设置verticesNeedUpdate,elementsNeedUpdatebuffersNeedUpdate修改几何后各一次.我也试过设置所有其他'脏'标志,虽然我只希望设置这三个(即便如此,我不确定我应该需要buffersNeedUpdate).

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

我究竟做错了什么?

Wes*_*ley 9

我假设你正在使用WebGLRenderer.

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

three.js r.59