Смотри также
glVertexAttribPoi nterARB
gILinkProgramARB Название
gl LinkProgramARB - выполняет компоновку программного объекта.
Прототип функции
void glLinkProgramAREKGLhandleARB program)
Параметры
program Дескриптор программного объекта для компоновки.
Описание Функция gl Li nkProgramARB выполняет компоновку программного объекта program. Если с program связаны любые шейдерные объекты типа GL_VERTEX_SHADER_ARB, из них создается выполняемая программа, которая будет запускаться на программируемом вершинном процессоре. Если с program связаны любые шейдерные объекты типа GL_FRAGMENT_SHADER_ARB, из них создается выполняемая программа, которая будет запускаться на программируемом фрагментном процессоре.
Статус компоновки после ее завершения становится частью состояния программного объекта. Это значение устанавливается в GL_TRUE, если компоновка про-
gILinkProgramARB
шла без ошибок и выполняемые программы готовы, или в GL_FALSE - в противном случае. Статус компоновки можно получить функцией gl GetObjectParameterARB с аргументами program и GL_0BJECT_LINK_STATUS_ARB.
После успешной операции компоновки все активные определенные разработчиком uniform-переменные в program устанавливаются в 0, и для каждой из активных uniform-переменных устанавливается соответствие с определенным адресом, который можно получить вызовом функции glGetUniformLocationARB. Любые активные, определенные разработчиком attribute-переменные, еще не связанные с каким-либо индексом дополнительного атрибута вершины, связываются в момент компоновки.
Компоновка программного объекта может завершиться с ошибками по ряду причин, указанных в спецификации языка шейдеров OpenGL. Перечислим несколько ситуаций, которые могут спровоцировать ошибку компоновки.
□ Превышено количество активных attribute-переменных, поддерживаемых данной реализацией.
□ Превышен объем памяти, выделяемой для хранения uniform-переменных.
□ Превышено количество активных uniform-переменных, поддерживаемых данной реализацией.