□ Отсутствие дополнительных библиотек или программ.

Язык шейдеров OpenGL, компилятор и компоновщик определены как часть OpenGL, Приложение не заботится о загрузке дополнительных библиотек. А усовершенствование компилятора происходит с установкой обновлений драйвера OpenGL,

2,7. Итоги

2.7. Итоги Следующие выводы помогут понять, как все части взаимодействуют на этапе выполнения:

□ Выполняемая программа для вершинного процессора, установленная как часть текущего состояния, будет выполняться один раз для каждой заданной вершины.

□ Выполняемая программа для фрагментного процессора, установленная как часть текущего состояния, будет выполняться один раз для каждого фрагмента, который приходит с этапа растеризации.

□ Есть два способа сообщения между приложением и вершинным шейдером: через attribute- и uniform-переменные.

□ Attribute-переменные могут изменяться часто: приложение устанавливает новое значение для каждой новой вершины.

□ Приложения передают произвольные данные вершин в вершинный шейдер через определенные разработчиком attribute-переменные.

□ Приложения передают стандартные данные вершин (цвет, нормаль, координаты текстуры, расположение в пространстве и т. д.) в вершинный шейдер через встроенные attribute-переменные.

□ Приложения могут передавать данные во фрагментный шейдер через uniform-переменные.

□ Uniform-переменные изменяются довольно редко - как минимум для целого графического примитива значение всегда будет оставаться неизменным.

□ Компилятор и компоновщик встроены в OpenGL (но средства для компиляции, компоновки и отладки шейдеров могут существовать сами по себе). Итак, далее описаны самые важные особенности языка шейдеров OpenGL:

Язык основан на синтаксисе языка С.

Основные элементы и многие ключевые слова заимствованы из С.

Векторы и матрицы добавлены как базовые типы.

Появились новые типы attribute, uniform, varying, которые описывают переменные для управления вводом/выводом шейдера.


⇐ Предыдущая| |Следующая ⇒