Тип attribute используется для передачи часто изменяемых значений от приложения к вершинному шейдеру.
Тип va ryi ng используется для передачи промежуточных данных от вершинного шейдера фрагментному шейдеру.
Тип uni form используется для передачи нечасто изменяемых данных от приложения к вершинному и фрагментному шейдерам.
Добавлен дискретизатор для доступа к текстурам.
Существует доступ к состоянию OpenGL и стандартной функциональности через встроенные переменные.
Основы
Включено множество встроенных функций для выполнения графических операций.
Из языка С++ заимствованы обязательность объявления функций и перегрузка функций по количеству и типу аргументов.
Переменные можно объявлять при необходимости, а не в начале блока. Чтобы установить и использовать шейдеры OpenGL, нужно проделать следующее:
1. Создать один или несколько пустых шейдерных объектов функцией gl Create-ShaderObjectARB.
2. Задать исходный код шейдеров функцией glShaderSourceARB.
3. Скомпилировать каждый шейдер функцией gl Compi 1 eShaderARB.
4. Создать программный объект функцией gl CreateProgramObj ectARB.
5. Присоединить все созданные шейдерные объекты к программному объекту функцией gl AttachObjectARB.
Аренда экскаватора погрузчика в Екатеринбурге.
6. Скомпоновать программный объект функцией gl LinkProgramARB.
7. Установить выполняемую программу как часть текущего состояния OpenGL функцией gl UseProgramObjectARB.
Все следующие графические примитивы будут нарисованы с помощью этих шейдеров, а не с использованием стандартных операций OpenGL.
2.8. Ссылки Чтобы лучше разобраться в предмете, просто продолжайте изучать книгу. А за техническими подробностями можно обратиться к спецификации. На веб-сайте компании 3Dlabs можно найти дополнительную информацию - презентации, демонстрационные программы, примеры шейдеров и их исходный код,
1. 3Dlabs. Веб-сайт для разработчиков (http://www.3dlabs.com/support/developer).
2. Kessenich J„ Baldwin D., Rost R. The OpenGL Shading Language, Version 1.051/ 3Dlabs. 2003 (http://www.3dlabs.com/support/deveLoper/ogL2).