Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 绑定多个VertexArray-OpenGL_C++_Opengl_Vao - Fatal编程技术网

C++ 绑定多个VertexArray-OpenGL

C++ 绑定多个VertexArray-OpenGL,c++,opengl,vao,C++,Opengl,Vao,可以绑定单独的VAOglBindVertexArray(m_vaoID)在两个单独的函数createGeo()中定义几何体和createGeoReach()然后使用glDrawArrays(…)函数两次,在一个显示函数中绘制单个对象 目前,我在一个数组中定义两个正方形的顶点(12个顶点),在一个函数中。。。但假设我想要单独的数组来保存每个顶点的形状?(6个) 我试过了,但它只呈现了一个。。。所以我对装订感到困惑…我对你的问题感到困惑。如果您只想从不同的顶点缓冲区绘制,可以创建两个VAO,每个VA

可以绑定单独的VAO
glBindVertexArray(m_vaoID)在两个单独的函数
createGeo()中定义几何体
createGeoReach()
然后使用
glDrawArrays(…)
函数两次,在一个显示函数中绘制单个对象

目前,我在一个数组中定义两个正方形的顶点(
12个顶点
),在一个函数中。。。但假设我想要单独的数组来保存每个顶点的形状?(
6个


我试过了,但它只呈现了一个。。。所以我对装订感到困惑…

我对你的问题感到困惑。如果您只想从不同的顶点缓冲区绘制,可以创建两个VAO,每个VAO都有自己的绑定VBO和顶点指针集,并且可以在调用
gldrawArray(…)
之间切换绑定VAO。或者,您可以使用单个VAO并在绘制调用之间修改绑定的VBO和顶点指针(这是一种老方法)。VAO实际上只是一种机制,允许您在单个API调用中更改多个顶点数组属性(通过在容器对象中存储状态集合)。对不起。这是因为我真的不明白VAO和VBO是什么。我找不到一个好的解释,反正是一个经验不足的人。。。我假设要绘制的每个对象都必须将其顶点存储在VAO中,并且每个VAO都由VBO绑定。。。导致需要多个。。。