在OpenGL中,为什么我的缓冲区对象不会被绘制,除非我再次重新指定顶点属性?

时间:2016-12-02 23:10:14

标签: c++ opengl graphics buffer vertex

我认为VAO(顶点数组对象)应该存储像顶点属性一样的状态。当我创建一个VBO时,我指定了我的顶点属性:

glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)nullptr);
glEnableVertexAttribArray(0);
// And so on

如果我绑定另一个VBO,我必须调用glVertexAttribPointer和glEnableVertexAttribArray三次,这是我每次切换VBO时的情况。我只有一个VAO,我永远不会改变它。有什么不对?我只使用一个顶点布局,如果每次切换时丢失此信息,我都不明白VAO会做什么。每个VAO只有一个VBO吗?

0 个答案:

没有答案