OpenGL绘制与vbo一样多的vaos,或仅一个vao和多个vbo

时间:2020-06-05 10:27:13

标签: c++ opengl graphics 3d

因此,当我想更改vbos时,我必须为每个单个绘制调用执行glVertexAttribPointer,但是对于vaos,我只需要绑定它们,而别的,glVertexAttribPointer我只在主外部做一次循环。我到处都看到vaos只是顶点格式,但是,为什么每次我都需要指定glVertexAttribPointer,如果我使用的是不同的vbo和相同的vao,它只是在循环中重复执行代码。

所以,如何循环绘制循环,

像这样:

bind vao
for each vbo
{
     glattribpointers
     glEnableVertexAttribPointerArray
     draw elements
}

或者像这样:

for each vao
{
     bind vao
     draw elements
}

第一个选项似乎执行了不必要的功能,第二个让我认为vaos没有意义

0 个答案:

没有答案