假设我有一个简单的二维 x-y 图。我想绘制一个以 (5,5)、(3,4)、(-1,9) 等为中心的非常复杂的形状。
我知道形状的顶点相对于中心 (n,m) 的位置。是否可以在 GPU 上而不是在 javascript 中计算所有顶点?我只需要将顶点的关系上传到中心一次,然后再上传各个点。
例如,如果形状是正方形,则关系将是:
在点(n,m)处有顶点(n-1,m-1),(n+1,m-1),(n+1,m-1),(n+1, m+1).
这样我就可以将 (5,5), (3,4) ,(-1,9) 上传到 GPU,而不是计算 12 个顶点并上传。
问题:
- 这可能吗?
- 这会比在 javascript 中计算顶点更快吗?
最佳答案
这些是针对OPENGL的一些解决方案,WebGL显然不支持。
http://www.opengl.org/wiki/Vertex_Rendering
http://www.opengl.org/wiki/GLAPI/glDrawArraysInstanced
编辑:显然 WebGL 没有 drawArraysInstanced
关于javascript - WebGL 为许多相同的对象计算 GPU 上的顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18021554/