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