glBindAttribLocationARBCmyProgram. 1. "Opacity");
После этого можно вызвать gl VertexAtt ri bARB для передачи значения для каждой вершины следующим образом: g)VertexAttriblfARB(l. opacity); Функция glVertexAttribARB вызывается между вызовами функций gTBegin и gl End. Она заменяет стандартные OpenGL-функции gl Col or, gl Normal и т. д. Но, как было замечено ранее, для увеличения скорости рисования рекомендуется использовать вершинные массивы.
Профессиональный жаргон в этом разделе может несколько сбить с толку, поэтому следует взглянуть на диаграмму, чтобы удостовериться в правильном понимании предмета. Рисунок 7.1 демонстрирует, как команды установки атрибутов вершин могут быть использованы для модификации значений встроенных переменных, определенных языком шейдеров OpenGL. Связывание между командами для установки стандартных атрибутов (цвет, нормаль, вершина и т. д.) и встроенных переменных (gl_Co1 or, gl_Normal, gl_Vertex и т. д.) происходит автоматически и таким образом, чтобы не противоречить дополнительным установленным атрибутам. Каждая из этих функций, за исключением gl Vertex, меняет состояние OpenGL. Значения встроенных attribute-переменных обновляются автоматически.
Рис. 7.1, Отображение стандартных функций установки вершинных атрибутов на встроенные а:МЬиг.е-переменные При наличии дополнительных атрибутов вершин (рис. 7.2) отображение немного отличается от рассмотренного ранее. Определенная разработчиком аШтоит-е-переменная должна быть связана с определенным индексом в массиве дополни7,5. Установка атрибутов вершин ильных атрибутов. Это связывание выполняется явно с помощью функции д1 Вт пй-АМпЬ1.0саглопАР*В или неявно при компоновке.
Рис. 7.2, Отображение дополнительных функций установки вершинных атрибутов на определенные разработчиком attribute-переменные Предположим, есть вершинный шейдер, использующий три определенные разработчиком attribute-переменные"opengl2_184.html">⇐ Предыдущая| |Следующая ⇒