□ program не является объектом типа GL_PR0GRAM_0BJECT_ARB;

□ gl Bi ndAttri bLocati onARB выполняется между соответствующими вызовами gl Begi n и glEnd.

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

gl GetActi veAttri bARB с аргументом program. glGetAttri bLocati onARB с аргументами program и name. glGet с аргументом GL_MAX_VERTEX_ATTRIBS_ARB.

Смотри таже

gl Di sabl eVertexAttn bArrayARB, gl Enabl eVertexAttri bArrayARB, gl UseProgramObjectARB, glVertexAttri bARB, glVertexAttri bPoi nterARB

glCompileShaderARB

Название

gl Compi 1 eShaderARB - выполняет компиляцию шейдерного объекта.

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

void glCompileShaderAREKGLhandleARB shader)

Параметры

shader Дескриптор шейдерного объекта для компиляции.

Описание Функция gl Compi 1 eShaderARB выполняет компиляцию строк исходного кода, которые содержатся в шейдерном объекте shader.

Результат компиляции сохраняется в текущем состоянии шейдерного объекта. Это значение устанавливается в GL_TRUE, если компиляция прошла без ошибок и объект можно использовать, в противном случае значение будет равно GL_FALSE. Результат компиляции можно получить с помощью функции gl GetObjectParameterARB с аргументами shader и GL_OBJECT_COMPILE_STATUS_ARB.

Причины неудачной компиляции описаны в спецификации языка шейдеров OpenGL. Более полную информацию о результатах компиляции можно получить с помощью функции gIGetlnfoLogARB.

Примечания

Функция gl Compi 1 eShaderARB не ожидает окончания компиляции и немедленно возвращает управление приложению. Любая следующая операция, зависящая от результата компиляции (например, gl Li nkProgramARB), будет ожидать ее окончания. Если же необходимо убедиться в том, что компиляция уже завершена, вызывается функция glGetObjectParameterARB. Этот вызов не завершается до окончания компиляции.

Ошибки

GL_INVALID_VALUE возникает, если shader не является дескриптором объекта OpenGL. GL_I NVALI D_0PERATI0N возникает в следующих случаях:

□ shader не является объектом типа GL_SHADER_OBJECT_ARB;

□ функция gl Compi 1 eShaderARB выполняется между соответствующими вызовами

gl Begin и gl End.

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

gIGetlnfoLogARB с аргументом shader.

glGetObjectParameterARB с аргументами shader и GL_OBJECT_COMPILE_STATUS_ARB.

Смотри также

gl CreateShaderObjectARB, glLinkProgramARB, glShaderSourceARB

glCreateProgramObjectARB

Название

glCreateProgramObjectARB - создает программный объект.

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

GLhandleARB glCreateProgramObjectARB(void)

Описание Функция glCreateProgramObjectARB создает пустой программный объект и возвращает его дескриптор. Программным называется объект, с которым связываются шейдерные объекты, при этом шейдеры проверяются на совместимость (например, могут ли вершинный и фрагментный шейдеры работать вместе). Если шейдерный объект больше не нужен программному, его можно отсоединить. Выполняемая программа создается после компоновки программного объекта. Эта программа становится частью состояния OpenGL после вызова функции gl UseProgramObjectARB. Программные объекты удаляются функцией gl Del eteObjectARB. Память, выделяемая программному объекту, освобождается после того, как объект перестает быть частью текущего состояния рендеринга в любом контексте.


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