我想知道如何有效地从 webgl 属性缓冲区中间删除三角形。
我想到的第一个解决方案是重新缓冲从中间到末尾的所有数据,将所有数据移回原位。对于只想删除单个三角形来说,这似乎效率很低。
我想到的第二个解决方案是添加一个附加属性来跟踪三角形是否被删除,如果是,则将其移到顶点着色器中的平截头体之外以进行剔除。这会增加内存开销,我想您会想要跟踪被删除的三角形,以便重用这些内存块。
我想第三种方法是获取缓冲区中的最后一个三角形并将其移动到被删除的三角形的位置,然后减少要绘制的三角形的数量。
有没有通用的方法来解决这个问题?