GLSL и glVertexAttribPointer - PullRequest
       4

GLSL и glVertexAttribPointer

1 голос
/ 28 января 2012

Можно ли узнать изнутри скрипта шейдера, был ли атрибут включается с glVertexAttribPointer и glEnableVertexAttribArray?

При попытке прочитать атрибут без использования glVertexAttribPointer программа по крайней мере, не падает, и значение кажется 0,0. Это действительно, чтобы попытаться прочитать атрибут, который не определен?

Проблема, которую я пытаюсь решить, состоит в том, что у меня есть два объекта, один с атрибутами и один без, и я хотел бы знать, могу ли я / должен ли использовать одну и ту же шейдерную программу для обоих объектов (принимая значение атрибутов 0 для объекта без них).

1 Ответ

2 голосов
/ 28 января 2012

Когда я пытаюсь прочитать атрибут без использования glVertexAttribPointer, программа, по крайней мере, не падает, и значение кажется равным 0.0. Допустимо ли пытаться прочитать атрибут, который не определен?

Для каждого атрибута, который не связан с массивом атрибутов вершины, вы получаете значение, установленное с помощью glVertexAttrib http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml, который по умолчанию равен всем нулям.

Если у вас есть два разных пути выполнения для номеров атрибутов, сделайте это двумя отдельными шейдерами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...