Когда нужно вызывать GL_VertexAttribPointer и GL_VertexAttribDivisor?

Я использую OpenGL версии 3.3
Я пишу ООП обёрткy для Vertex buffer object и Vertex array object. У меня есть функция, которая помогает настроить Vertex attribute pointer и функция, устанавливающая Vertex array активным.

class VertexBuffer {
    List<int> attributes; //здесь я храню номера аттрибутов
    ...
    void ConfigPointer(int attribIndex, ...){
        GL.BindVertexArray(...);
        GL.BindBuffer(...);
        GL.VertexAttribPointer(attribIndex,...);
        GL.VertexAttribDivisor(attribIndex, ...);
        GL.BindVertexArray(0);
        attributes.Add(attribIndex);
    }
    void Bind(){
        GL.BindVertexArray(...);
        foreach (int attrib in attributes)
            GL.EnableVertexAttribArray(attrib);
    }
    ...
}  

Вопрос-то в чём.. Правильно ли я делаю, что вызываю EnableVertexAttribArray при каждом биндинге? Или можно настроить это один раз при конфигурации VertexAttribPointer и дальше не париться?
Нужно ли делать то же самое и с VertexAttribDIvisor?


Ответы (0 шт):