Примечания
Как и для таблиц состояния и текстурных объектов, область видимости дескрипторов всех объектов может распространяться на несколько контекстов.
Изменения в программном объекте, сделанные в одном контексте рендеринга, не появляются в другом контексте рендеринга до тех пор, пока для этого контекста не будет вызвана функция 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, в которую передается дескриптор шейдерного объекта.