2012-06-18 80 views
1

想象一下,我想绘制一个由三角形组成的金字塔。如何使用顶点缓冲对象

- 我应该为每个三角形还是包含所有三角形创建一个VBO?

+0

根据我的测试,我做了一次,超过1MB的缓冲区开始减慢渲染,我通常使用512k缓冲区或更少,只是为了安全起见。 – Rookie

回答

3

在上下文中选择一个VBO是一个相当昂贵的状态变化,所以使用较少的VBO绝对有利。

+0

非常感谢。但是,我应该为vbo提供所有面的所有顶点数组吗? (相同的顶点将被给予多次) –

+0

@ JoAoSilva是的,你应该,但为了避免重复的顶点,你应该使用[索引渲染](http://www.opengl.org/sdk/docs/man4/xhtml /glDrawElements.xml),这不仅会减小vbo的大小,还会使你更有可能碰到[post-transform-cache](http://www.opengl.org/wiki/Post_Transform_Cache) – KillianDS

+0

另请参阅[本指南](http://www.opengl.org/wiki/Vertex_Specification_Best_Practices) – KillianDS

相关问题