OpenGL: glVertexAttribFormat.attribindex против расположения вершинного шейдера GLSL

#c #opengl

Вопрос:

attribindex glVertexAttribFormat Соответствует ли in расположению макета в моем шейдере вершин GLSL?

т. е. если я напишу

 glVertexAttribFormat(0, 3, GL_FLOAT, GL_FALSE, offsetof(Vertex, position));  

Это 0 соответствовало бы этой строке в моем шейдере?

 layout (location = 0) in vec3 inPos;  

Ответ №1:

Ага. В противном случае без location спецификатора вам придется запросить местоположение атрибута через glGetAttribLocation() после связывания программы или задать его перед связыванием программы через glBindAttribLocation() .

Комментарии:

1. Идеальный. Я был почти уверен, что это так, но не смог найти ничего, что прямо говорило бы об этом.