我渲染了许多轴对齐的3D立方体。每个立方体可以通过立方体中心和/或颜色的位置彼此不同。这就是我现在正在渲染的方式
for (i = 0; i < num_of_cubes; ++i) {
glTranslatef(center[i].x, center[i].y, center[i].z);
DrawCube();
}
我的DrawCube()简单地渲染6个四边形,对应于立方体的每一边,使用glDrawElements
,顶点数据存储在VBO中。 glVertexPointer和glColorPointer用于设置属性元素。
这很有效,但我希望通过使用glDrawElementsInstanced()来使用Instanced rendering。但是由于项目的一些遗留代码,我必须使用固定功能管道。
是否可以使用固定管道执行此操作?如果是,我如何告诉我的GPU使用体素中心和颜色的实例vbo。