【发布时间】:2017-03-22 01:12:55
【问题描述】:
我在网上搜索了一段时间,但无法为我当前的问题找到一个好的答案:统一的可见对象由网格组成。在 OpenGL 术语中,网格是一个 VertexBuffer,理想情况下传输一次到 GPU,然后馈入顶点着色器。
现在,在某个给定点,我想重新计算 GPU 上的给定网格。例如,如果我的 VertexBuffer 有空间容纳 200 个属于 Cube 的 Vector3<float>,我想调用一个 ComputeShader(?) 来更新每个 Vector3<float>,以便网格现在是一个球体。
我知道我可以使用 CPU 重新分配网格,但在我的场景中这太慢了。
所以问题是,我如何将 VertexBuffer 或 Mesh 统一传递到 ComputeShader 中?我想直接修改 VertexBuffer。
感谢您的想法、资源、提示!
【问题讨论】: