В конечном итоге, производители графических ускорителей будут реализовывать большую часть компилятора и компоновщика языка шейдеров OpenGL. Это программное обеспечение будет включаться в стандартный пакет от производителя вместе с Open GL-драйвером.

2.5.3. Расширения OpenGL API

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

Расширение для шейдеров, программных объектов и функциональности, общей для всех программируемых процессоров, называется ARB_shader_objects. Это расширение включает в себя следующие компоненты:

□ glCreateShaderObjectARB - создание шейдерного объекта;

□ glCreateProgramObjectARB - создание программного объекта;

□ gl Del eteObj ect ARB - удаление шейдерного или программного объекта;

□ glShaderSourceARB - загрузка строк исходного кода в шейдерный объект;

□ gl Compi 1 eSbsderARB - компиляция шейдера;

□ glAttachObjectARB - прикрепление шейдерного объекта к программному объекту;

□ gl DetachObjectARB - отсоединение шейдерного объекта от программного объекта;

□ gl Li nkProgramARB - компоновка программного объекта для создания выполняемого кода;

□ gl UseProgramObjectARB - установка выполняемого кода в качестве текущего состояния;

□ glVal idateProgramARB - проверка правильности программного объекта;

□ gl Uni formARB - установка значения uniform-переменной;

□ glGetActiveUniformARB - получение имени, размера и типа активной uniform-переменной программного объекта;

□ glGetAttachedObjectsARB - получение списка присоединенных к программному объекту шейдерных объектов;

□ glGetHandleARB - получение дескриптора используемого в данный момент программного объекта;

□ gl GetObJ ect Ра rameterARB - получение параметров объекта;

□ gl GetShaderSourceARB - получение исходного кода заданного шейдерного объекта;

□ gl Get Uni formARB - получение текущего значения uniform-переменной;

□ gl GetUni formLocat i onARB - запрос назначенного компоновщиком расположения uniform-переменной;

□ gl Get IлfoLogARB - получение информационного журнала записей (лога) для шейдерного или программного объекта.

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


⇐ вернуться назад | | далее ⇒