如果我使用VAO,我是否需要致电GlenableVertexattribarray

Do I need to call glEnableVertexAttribArray if I use VAOs?

本文关键字:GlenableVertexattribarray VAO 如果 是否      更新时间:2023-10-16

我知道VAO可以将绑定与VBO和索引VBO(GL_ARRAY_BUFFERGL_ELEMENT_ARRAY_BUFFER(存储,但是现在我有一个问题:

void render()
{
    ..Set up textures, uniforms..
    glBindVertexArray(vaoId)); // This also binds VBOs and indices VBOs 
    automatically (if it was properly set up)
    glEnableVertexAttribArray(0); // Do I need this?
    glEnableVertexAttribArray(1); // Do I need this?
    glEnableVertexAttribArray(2); // Do I need this?
    glDrawElements(GL_TRIANGLES, indices_N, GL_UNSIGNED_BYTE, 0);
    .. cleanup..
}

即使我已经正确设置了VAO,我仍然需要致电glEnableVertexAttribArray

这不是必需的。在VAO设置期间,您应该已经调用glEnableVertexAttribArray,以便在VAO绑定时自动启用它们。

相关文章:
  • 没有找到相关文章