Подтвердить что ты не робот

Что именно делает glEnableVertexAttribArray?

Я читал:

http://alfonse.bitbucket.io/oldtut/Basics/Tut01%20Dissecting%20Display.html

Я не совсем уверен, что делает эта функция.
Я думаю, что это позволяет использовать данный VBO, но я не уверен.

Я думал, что это то, что сделал glEnableClientState(GL_VERTEX_ARRAY).

4b9b3361

Ответ 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.