Примечания

Как и для таблиц состояния и текстурных объектов, область видимости дескрипторов всех объектов может распространяться на несколько контекстов.

Изменения в программном объекте, сделанные в одном контексте рендеринга, не появляются в другом контексте рендеринга до тех пор, пока для этого контекста не будет вызвана функция gl UseProgramObjectARB.

Ошибки

GL_INVALID_OPERATION возникает при вызове функции glCreateProgramObjectARB между соответствующими вызовами функций gl Begi п и gl End.

Соответствующие GET-функции

glGetHandleARB с аргументом GL_PROGRAM_OBJECT_ARB.

glGetAttachedObjectsARB, в которую передается дескриптор программного объекта, gl GetlnfoLogARB, в которую передается дескриптор программного объекта, gl GetObjectParameterARB, в которую передается дескриптор программного объекта.

Смотри также

gl AttachObjectARB, gl Crea teShaderOb j ectARB, gl Del eteObjectARB, glDetachObjectARB, glLinkProgramARB, glUseProgramObjectARB, glValidateProgramARB

glCreateShaderObjectARB

Название

glCreateShaderObjectARB - создает шейдерный объект.

Прототип функции

GLhandleARB glCreateShaderObjectAREHGLenum shaderType)

Параметры

shaderType Тип создаваемого шейдера. Возможные значения аргумен та - GL_VERTEX_SHADER_ARB и GL_FRAGMЕNT_SHADЕR_ARB.

Описание

Функция gl CreateShaderObjectARB создает пустой шейдерный объект и возвращает его дескриптор. Затем шейдерный объект используется для хранения строк исходного кода шейдера и работы с ними. Параметр shaderType указывает тип создаваемого шейдера; в данный момент поддерживается два типа шейдеров. Шейдер типа GL_VERTEX_SHADER_ARB будет запускаться на программируемом вершинном процессоре и заменит стандартную обработку вершин OpenGL. Шейдер типа GL_FRAGMENT_ SHADER_ARB будет запускаться на программируемом фрагментном процессоре и заменит стандартную обработку OpenGL.

При создании шейдерного объекта его параметр GL_OBJECT_TYPE_ARB устанавливается в GL_SHADER_OBJECT_ARB, а параметр GL_OBJECT_SUBTYPE_ARB - либо в GL_VERTEX_SHADER_ARB, либо в GL_FRAGMENT_SHADER_ARB, в зависимости от значения shaderType.

Примечания

Как и для таблиц состояния и текстурных объектов, область видимости дескрипторов всех объектов может распространяться на несколько контекстов. Если дескрипторы видимы из нескольких контекстов, любые связанные с этими объектами данные тоже доступны.

Изменения в шейдерном объекте, сделанные в одном контексте рендеринга, не появляются в другом контексте рендеринга до тех пор, пока для этого контекста не будет вызвана функция gl UseProgramObjectARB.

Ошибки

GL_INVALID_ENUM возникает, если в shaderType содержится некорректное значение. GL_INVALID_OPERATION возникает при выполнении glCreateShaderObjectARB между соответствующими вызовами функций gl Begi п и gl End.

Соответствующие GET-функции

glGetlnfoLogARB, в которую передается дескриптор шейдерного объекта, gl GetObjectPa rameterARB, в которую передаются дескриптор шейдерного объекта и одно из значений, GL_0BJECT_TYPE_ARB или GL_OBJECT_SUBTYPE_ARB. glGetShaderSourceARB, в которую передается дескриптор шейдерного объекта.


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