我一直在尝试将所有几何体组合在一起,并通过一次调用glDrawElements立即绘制它们。但是,我获取对象的唯一方法是使用像
这样的for循环 for (int i = 0; i < TOTAL_NUMBER_OF_INDICES; i += NUMBER_OF_INDICES_PER_OBJECT) {
glDrawElements(GL_TRIANGLE_STRIP, NUMBER_OF_INDICES_TO_DRAW, GL_UNSIGNED_BYTE, &indices[i]);
}
如果我一次调用glDrawElements绘制所有索引,OpenGL认为它就是一个对象。从我一直在阅读的内容来看,我认为使用VBO可能是解决方案,但我还没有成功地使用OpenGLES 1.1。因此,如果创建VBO是我的问题的解决方案,那么如果有人可以提供帮助就很棒。
答案 0 :(得分:1)
虽然使用VBO可能仍然是一个好主意,你最终需要做的是将OpenGL渲染为渲染单个“对象”或顶点序列,以便它显示为一组离散元素。执行此操作的技术是在要显示的对象的顶点之间添加“退化三角形”(例如,无法正确渲染的三角形,如顶点为共线的三角形)。
如果你想了解更多细节,可以在下面的答案中对它进行很好的解释。