我有一个简单的任务:我有10,000个3D盒子,每个盒子都有x,y,z,宽度,高度,深度,旋转和颜色。我想将它们放入3D空间,将其可视化,并让用户使用鼠标飞过它。有没有一种简单的方法可以把它放在一起?
答案 0 :(得分:3)
使用最近的(v 3.2)OpenGL执行此操作的一种简单方法是:
glBufferData
将数组放入顶点缓冲区gl_InstanceID
的值glDrawElementsInstanced
N 次,count
设置为适合一个批次的元素要传达每立方体转换数据,您有几种选择,其中包括:
另外:使用pseudo-instancing即使在不支持直接实例化的硬件上也能正常工作。它不是那么优雅而且速度稍微慢一点,但它确实起到了作用。