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

2.5. Обзор системы

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

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

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

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

□ gl CreateShaderObj ectARB - создание тендерного объекта;

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

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

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

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

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

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

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


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