javascript - 如何有效地从 webgl 属性缓冲区的中间删除三角形
问题描述
我想知道如何有效地从 webgl 属性缓冲区中间删除一个三角形。
想到的第一个解决方案是重新缓冲从中间到结尾的所有数据,将所有数据移回一个。对于只想删除单个三角形来说,这似乎效率很低。
我想到的第二个解决方案是添加一个附加属性来跟踪是否删除了一个三角形,如果是,则将其移动到顶点着色器中的截锥体之外以被剔除。这会增加内存开销,我想您可能希望跟踪已删除的三角形以重用这些内存块。
我想第三种方法是获取缓冲区中的最后一个三角形并将其移动到要删除的三角形的位置,然后减少要绘制的三角形的数量。
有没有解决这个问题的通用方法?
解决方案
推荐阅读
- c++ - 十进制,包括负到 32 位二进制转换器
- apache - htaccess 文件夹覆盖到子文件夹
- git - 来自 git toplevel 文件夹的乳胶输入文件
- qweb - Odoo 10 报告:在页面末尾打印变量
- java - 使用 Java 8 过滤对象列表并将过滤后的结果映射回同一列表
- solid-principles - SOLID 设计原则:Liskov 替换原则和依赖倒置原则
- javascript - 使用 three.js GLTFLoader() 和 typescript - 与 zimjs 冲突
- javascript - 可以将大变量传递到 React 状态吗?
- datetime - Cakephp 3.7 需要 mysql 时间来格式化,但不是日期时间
- xml - XSD:仅在元素第一次出现后才允许元素内的不同元素