Что именно делает glEnableVertexAttribArray?
Я читал:
http://alfonse.bitbucket.io/oldtut/Basics/Tut01%20Dissecting%20Display.html
Я не совсем уверен, что делает эта функция.
Я думаю, что это позволяет использовать данный VBO, но я не уверен.
Я думал, что это то, что сделал glEnableClientState(GL_VERTEX_ARRAY)
.
Ответы
Ответ 1
Я читал: http://alfonse.bitbucket.io/oldtut/Basics/Tut01%20Dissecting%20Display.html
Затем прочитайте следующую страницу; Я точно объясняю, что он там делает;)
Если я могу процитировать:
Мы присвоили атрибуту index атрибута position 0 в вершинном шейдере, поэтому вызов glEnableVertexAttribArray (0) позволяет индексу атрибута для атрибута position.... Если атрибут не включен, он не будет использоваться во время рендеринга.
Ответ 2
Он похож на массив вершин, но сохраняет дополнительные дополнительные значения для каждой точки, а не для координат. Например, вы можете сохранить температуру, плотность, уровень сигнала в каждой точке приложения моделирования или, возможно, значение повреждения для игры
Ответ 3
Немного опоздал на вечеринку.
Есть другой способ указать данные для атрибута вершины, не массив:
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glVertexAttrib.xml
Таким образом, мы указываем данные только для одной вершины, эти данные будут реплицированы для всех вершин.
Чтобы использовать данные без массивов, вызовите glDisableVertexAttribArray
.
Чтобы использовать данные массива, вызовите glEnableVertexAttribArray
.