Смотри также

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-переменных, поддерживаемых данной реализацией.


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