Ошибки
GL_I NVAL I D_VALUE возникает, если program не является дескриптором объекта OpenGL. GL_INVALID_0PERATION возникает в следующих случаях:
□ program не является объектом типа GL_PROGRAM_OBJECT_ARB;
□ функция gl Li nkProgramARB выполняется между соответствующими вызовами
gl Begin и gl End.
Соответствующие GET-функции
glGetActi veAttnbARB с. аргументом program. glGetActi veUni formARB с аргументом program. gIGetlnfoLogARB с аргументом program.
glGetObjectParameterARB с аргументами program и GL_OBJECT_LINK_STATUS_ARB. gl GetUni formARB с аргументом program и адресом uniform-переменной, gl GetUni formLocationARB с аргументом program и именем uniform-переменной. gIGetHandleARB с параметром GL_PROGRAM_OBJECT_ARB.
Смотри также
gl AttachObjectARB, gl Compi 1 eShaderARB, glDetachObjectARB, glUniformARB, gl UseProgramObjectARB, glVal idateProgramARB
gIShaderSourceARB
Название
gIShaderSourceARB - устанавливает шейдерному объекту новый исходный код.
Прототип функции
void glShaderSourceARB( GLhandleARB shader.
GLsizei nstrings. const GLcharARB **strings. const GLint *lengths)
Параметры
shader Дескриптор шейдерного объекта, в который будет устанав ливаться новый исходный код.
nstrings Количество элементов в массивах strings и lengths,
st ri ngs Массив указателей на строки, содержащие части исходного кода для загрузки в шейдер.
1 engths Массив, содержащий значения длин строк.
Описание
Функция glShaderSourceARB загружает исходный код из массива строк strings в shader. При этом старый код шейдерного объекта теряется. Количество строк в массиве strings указано в nstrings. Если значение lengths равно NULL, считается, что каждая строка из strings заканчивается нуль-символом; если же lengths не равно NULL, то указывает на массив со значениями длины соответствующих строк из strings. Каждый элемент этого массива содержит либо количество символов в соответствующей строке без учета нуль-символа, либо значение меньше 0, если соответствующая строка завершается нуль-символом. На данном этапе строки исходного кода никак не анализируются, а просто копируются в указанный шейдерный объект.
Примечания
Во время вызова функции gl ShaderSourceARB OpenGL копирует строки исходного кода, и приложение может освобождать свою копию сразу после завершения функции.
Ошибки
GL_INVALID_VALUE возникает:
□ если shader не является дескриптором объекта OpenGL;
□ значение nstrings меньше 0.
GL_INVALID_0PERATION возникает в следующих случаях:
□ shader не является объектом типа GL_SHADER_OBJECT_ARB;
□ функция gl ShaderSourceARB выполняется между соответствующими вызовами
gl Begin ид! End.
Соответствующие GET-функции
gIGetShaderSourceARB с аргументом shader.
Смотри также
gl Compi 1 eShaderARB, glCreateShaderObjectARB, glDeleteObjectARB
glUniformARB
Название
gl Uni formARB - задает значение uniform-переменной.