2013-05-28 38 views

回答

1

您可以a)记下每个几何图形的顶点偏移量(即在合并最新的几何图形之前合并几何图形中已有多少顶点),然后使用它仅循环并修改某个几何图形或b)如果每个人都有一个杰出的材料,则可以遍历所有面并将修改限制为使用正确材质附加到面的顶点。

但是,由于它仍然是一个大的几何图形,无论您编辑它有多少,您都会将所有内容都推送到GPU。如果你只是偶尔修改它,这可能没什么关系,但在这种情况下,你应该检查你是否可以通过重新整合整个事物来获得足够的性能,而不用担心更复杂的事情。

如果您确实需要将已修改的数据只推送到GPU,则存在一个void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView data)函数。然而,这是原始的WebGL,你需要深入到three.js的内部以便修补它。