首页 > 解决方案 > 如何有效地从 webgl 属性缓冲区的中间删除三角形

问题描述

我想知道如何有效地从 webgl 属性缓冲区中间删除一个三角形。

想到的第一个解决方案是重新缓冲从中间到结尾的所有数据,将所有数据移回一个。对于只想删除单个三角形来说,这似乎效率很低。

我想到的第二个解决方案是添加一个附加属性来跟踪是否删除了一个三角形,如果是,则将其移动到顶点着色器中的截锥体之外以被剔除。这会增加内存开销,我想您可能希望跟踪已删除的三角形以重用这些内存块。

我想第三种方法是获取缓冲区中的最后一个三角形并将其移动到要删除的三角形的位置,然后减少要绘制的三角形的数量。

有没有解决这个问题的通用方法?

标签: javascriptwebgl

解决方案


推荐阅读