Когда нужно вызывать 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?