0
我见过许多程序在初始化阶段这样做的(伪):Do VAOs是否也会自动绑定索引数组?
glGenVertexArrays(vao)
glBindVertexArray(vao)
glGenBuffers(vbo)
glBindBuffer(GL_ARRAY_BUFFER, vbo)
glBufferData(into the vbo)
glVertexAttribPointer(instruct the vao on vbo's memory organization)
glBindBuffer(GL_ARRAY_BUFFER, 0); // Unbind VBO
glBindVertexArray(0); // Unbind VAO
glGenBuffers(vbo for indices)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo for indices)
glBufferData(populate indices vbo)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); // Unbind vbo for indices
这是做的正确方法? VAO是否也存储了对vbo指数的参考,以便我可以在vbo对索引进行初始化后解除vao(并避免在绘图阶段将vbo绑定到索引)?
呵呵,有意思。对于非指数的维也纳国际组织来说,这也是不成立的,对吧?我看到你在解除绑定VAO之前解除了绑定VBO **的义务。 – Dean
这是因为'GL_ARRAY_BUFFER'绑定(基本上)是由'glVertexAttribPointer'调用建立的。 – BDL
谢谢。从khronos文档中不难理解。 – Dean