Несмотря на отмеченные недостатки, описанные шейдеры - хороший пример работы OpenGL-шейдеров, иллюстрирующий некоторые интересные особенности языка шейдеров OpenGL.

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

6.6. Ссылки Шейдер кирпичной стенки, приведенный в данной главе, очень похож на один из шейдеров на языке RenderMan, написанный Дарвином Пичи (Darwyn Peachey) в 2002 г. и представленный в книге [2]. Этот и другие шейдеры можно найти на веб6.6. Ссылки

1S1

сайте компании SDlabs, предназначенном для разработчиков. Код OpenGL-щей-даров также доступен.

1, 3Dlabs. Веб-сайт для разработчиков (http://www.3dLabs.corn/support/cleveLoper).

2, Texturing and Modeling: A Procedural Approach. 3rd ed./D. S. Ebert, J. Hart, В. Mark, at al. San Francisco: Morgan Kaufmann Publishers, 2002 (http://www.tex-turingandmodeling.com).

3, Kessenich J., Baldwin D., Rost R. The OpenGL Shading Language, Version 1.051 /3Dlabs. 2003 (http://www.3dlabs.com/support/developer/ogL2).

4, OpenGL Architecture Review Board: спецификация расширения ARB_vertex_ shader, реестр расширений OpenGL (http://oss.sgi.com/projects/ogL-sample/registry).

5, OpenGL Architecture Review Board: спецификация расширения ARB_fragmerit_ shader, реестр расширений OpenGL (http://oss.sgi.com/projects/ogl-sample/registry).

'6. OpenGL Architecture Review Board: спецификация расширения ARB_shader_ objects, реестр расширений OpenGL (http://oss.sgi.com/projects/ogL-sampLe/ registry),


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