我刚刚开始使用OpenGL,而我正试图仅使用3.x及以上的功能。我不明白的一件事是VAO。
我知道VAO封装了渲染状态,因此我可以在渲染循环之前调用所有设置函数,然后绑定VAO以获取设置中所做的所有状态更改。我不清楚的是我应该如何布置我的数据。我是否应该让场景中的每个模型获得它自己的VAO,或者我应该使用几个VAO并将多个模型的VBO绑定到它(我读过的效率更高)?
答案 0 :(得分:-1)
VAO在其中封装了绑定的buffed和vertex属性。因此,如果您需要绑定不同的缓冲区并为绘制调用设置不同的属性,那么您应该为其分配不同的VAO。