C++ 绑定多个VertexArray-OpenGL
可以绑定单独的VAOC++ 绑定多个VertexArray-OpenGL,c++,opengl,vao,C++,Opengl,Vao,可以绑定单独的VAOglBindVertexArray(m_vaoID)在两个单独的函数createGeo()中定义几何体和createGeoReach()然后使用glDrawArrays(…)函数两次,在一个显示函数中绘制单个对象 目前,我在一个数组中定义两个正方形的顶点(12个顶点),在一个函数中。。。但假设我想要单独的数组来保存每个顶点的形状?(6个) 我试过了,但它只呈现了一个。。。所以我对装订感到困惑…我对你的问题感到困惑。如果您只想从不同的顶点缓冲区绘制,可以创建两个VAO,每个VA
glBindVertexArray(m_vaoID)代码>在两个单独的函数createGeo()中定义几何体代码>和createGeoReach()
然后使用glDrawArrays(…)
函数两次,在一个显示函数中绘制单个对象
目前,我在一个数组中定义两个正方形的顶点(12个顶点
),在一个函数中。。。但假设我想要单独的数组来保存每个顶点的形状?(6个
)
我试过了,但它只呈现了一个。。。所以我对装订感到困惑…我对你的问题感到困惑。如果您只想从不同的顶点缓冲区绘制,可以创建两个VAO,每个VAO都有自己的绑定VBO和顶点指针集,并且可以在调用gldrawArray(…)
之间切换绑定VAO。或者,您可以使用单个VAO并在绘制调用之间修改绑定的VBO和顶点指针(这是一种老方法)。VAO实际上只是一种机制,允许您在单个API调用中更改多个顶点数组属性(通过在容器对象中存储状态集合)。对不起。这是因为我真的不明白VAO和VBO是什么。我找不到一个好的解释,反正是一个经验不足的人。。。我假设要绘制的每个对象都必须将其顶点存储在VAO中,并且每个VAO都由VBO绑定。。。导致需要多个。。。