为什么使用VBO和/或IBO而不是简单的顶点数据?

时间:2013-05-04 03:54:40

标签: android opengl-es opengl-es-2.0 vbo

那么使用VBO(顶点缓冲对象)和IBO(索引缓冲区对象)而不是使用简单的顶点数据是什么好处

何时是使用的好时机?加载 3D模型会更加复杂吗?如果是这样,有什么好处? VBO / IBO的不同彼此如何?

根据我的理解,您将数据创建为顶点,法线等,然后将它们放入常规缓冲区。当你制作一个VBO / IBO时,你仍然需要缓冲区,为什么你需要一个单独的缓冲区用于VBO和IBO?这只是表现问题,还是有其他优势?

我认为这对于添加VBO / IBO代码的难度来说都是杠杆

1 个答案:

答案 0 :(得分:3)

缓冲区对象是由OpenGL上下文直接分配的内存,这意味着分配内存的方式和位置取决于OpenGL驱动程序的实现者。

这提供了以下优势:驱动程序可以在GPU中分配该内存或执行对OpenGL客户端隐藏的优化,但会大大提高性能(例如,您可以避免额外的mem copys)。

你应该尽快开始使用它们,它们可能会认为很复杂但实际上相当容易,一旦你爬上学习曲线,你就不会回去了。

快乐的编码!