Примечания Функция glLinkProgramARB не ожидает окончания операции компоновки и сразу же возвращает управление приложению. Все следующие вызовы функций, зависящие от результатов компоновки (например, gl UseProgramObjectARB), будут ожидать окончания компоновки. Ожидая завершения компоновки, для получения статуса компоновки приложение может использовать функцию glGetObjectParameterARB, которая будет ожидать появления результатов компоновки.

Ошибки

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

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

□ функция glLinkProgramARB выполняется между соответствующими вызовами gl Begin и gl End.

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

glGetActi veAttn bARB с аргументом program. glGetActiveUni formARB с аргументом program. glGetlnfoLogARB с аргументом program.

glGetObjectParameterARB с аргументами program и GL_0BJECT_LINK_STATUS_ARB. glGetUni formARB с аргументом program и адресом uniform-переменной, gl GetUni formLocati onARB с аргументом program и именем uniform-переменной. glGetHandleARB с параметром GL_PR0GRAM_0BJECT_ARB.

Смотри также

gl AttachObjectARB, gl Compi 1 eShaderARB, gl DetachObjectARB, glUniformARB, glUseProgramObjectARB, glValidateProgramARB

gIShaderSourceARB Название

gIShaderSourceARB - устанавливает шейдерному объекту новый исходный код.

gIShaderSourceARB

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

void glShaderSourceARB( GLhandleARB shader.
GLsizei nstrings,
const GLcharARB **strings.
const GLint *lengths)

Параметры

nstrings strings
shader
lengths

Дескриптор шейдерного объекта, в который будет устанавливаться новый исходный код.

Количество элементов в массивах strings и lengths.

Массив указателей на строки, содержащие части исходного кода для загрузки в шейдер.

Массив, содержащий значения длин строк.

Описание Функция gIShaderSourceARB загружает исходный код из массива строк strings в shader. При этом старый код шейдерного объекта теряется. Количество строк в массиве strings указано в nstrings. Если значение lengths равно NULL, считается, что каждая строка из strings заканчивается нуль-символом; если же lengths не равно NULL, то указывает на массив со значениями длины соответствующих строк из strings. Каждый элемент этого массива содержит либо количество символов в соответствующей строке без учета нуль-символа, либо значение меньше 0, если соответствующая строка завершается нуль-символом. На данном этапе строки исходного кода никак не анализируются, а просто копируются в указанный шей-дерный объект.


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