4.6. Итоги В OpenGL были добавлены два новых программируемых модуля: вершинный и фрагментный процессоры. Для написания программ, выполняемых на этих процессорах, используется один и тот же язык, но с небольшими различиями. Вершинный процессор заменяет стандартные операции над вершинами в OpenGL, и шейдер, который будет выполняться на этом процессоре, называется вершинным шейдером. Вершинный шейдер будет выполняться для каждой вершины отдельно. Фрагментный процессор заменяет стандартные операции над фрагментами, и шейдер, выполняющийся на нем, называется фрагментный шейдером. Фрагментный шейдер выполняется для каждого фрагмента отдельно.

Огромное внимание было уделено созданию интерфейса между программируемыми и стандартными операциями, и теперь можно программировать обработку вершин при стандартной обработке фрагментов, и наоборот. Встроенные переменные предоставляют доступ к стандартным атрибутам OpenGL, зависящим от реализации константам и другим параметрам состояния OpenGL. Также эти переменные позволяют шейдеру сообщаться с предыдущими и последующими этапами обработки.

4.7. Ссылки Встроенные переменные, описанные в этой главе, будут упоминаться во многих примерах этой книги.

Глава 4, Программируемая часть операций OpenGL

За подробностями следует обращаться к стандартам OpenGl и OpenGl Shading Language. Литература по OpenGL, упомянутая в конце главы 1, может быть использована для того, чтобы лучше разобраться в способах использования встроенных переменных. Элементы статьи [2] после адаптации включены в данную книгу. Полный ее текст доступен на веб-сайте 3Dlabs.

1. Kessenich J., Baldwin D„ Rost R. The OpenGL Shading Language, Version 1.051/ 3D!abs. 2003 (http://www.3d[abs.com/support/developer/ogl2),
2. Lichtenbelt B. Integrating the OpenGL Shading Language/SDlabs. 2003.
3. Segal M., Akeley K. The OpenGL Graphics System: A Specification (Version 1.5)/ Ed.: Ch. Frazier (v. 1.1) J. Leech (v. 1.2-1.5). 2003 (http://opertgL.org).

Встроенные функции В этой главе читатель найдет подробности о функциях, определенных как часть языка шейдеров OpenGL. Ее можно пропустить, торопясь перейти к написанию Собственных шейдеров, так как это в основном справочник функций. Тем не менее он может быть очень полезным при написании шейдеров.


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