g IGetVertexAttri bPointervARB Название
glGetVertexAttribPointervARB - возвращает адрес заданного указателя.
Прототип функции
void glGetVertexAttribPointervARB( GLuint index,
GLenum pname,
GLvoid **pointer)
Параметры
i ndex Дополнительный атрибут вершины, к которому выполняет ся запрос.
pname Тип запрашиваемого параметра. Должен быть равен GL_VERTEX_ATTRIB_ARRAY_P0INTER_ARB.
pointer Возвращает указатель.
Описание
Функция glGetVertexAttribPointervARB возвращает информацию об указателе, index - дополнительный атрибут вершины, pname - константа, обозначающая, что возвращаться должен именно указатель, poi nter - указатель на область памяти, где будут сохраняться возвращаемые данные (указатель). Допустимые имена параметров:
GL_VERTEX_ATTRIB_ARRAY_P0INTER_ARB
poi nter возвращает одно значение, являющееся указателем на массив атрибутов вершины для дополнительного атрибута вершины, на который указывает i ndex.
Примечания
Возвращаемый указатель является частью клиентского состояния OpenGL. Значение по умолчанию для каждого указателя равно 0.
Ошибки
GL_INVALID_VALUE возникает, если значение index больше либо равно GL_MAX_VERTЕХ_ ATTRIBS_ARB.
GL_I NVAL I D_ENUM возникает, если в pname содержится некорректное значение.
Смотри также
glVertexAttri bPoi nterARB
gILinkProgramARB
Название
gl Li nkProgramARB - выполняет компоновку программного объекта.
Прототип функции
void glLinkProgramARB(GLhandleARB program)
Параметры
program Дескриптор программного объекта для компоновки.
Описание
Функция gl Li nkProgramARB выполняет компоновку программного объекта program. Если с program связаны любые шейдерные объекты типа GL_VERTEX_SHADER_ARB, из них создается выполняемая программа, которая будет запускаться на программируемом вершинном процессоре. Если с program связаны любые шейдерные объекты типа GL_FRAGMENT_SHADER_ARB, из них создается выполняемая программа, которая будет запускаться на программируемом фрагментном процессоре.
Статус компоновки после ее завершения становится частью состояния программного объекта. Это значение устанавливается в GL_TRUE, если компоновка прошла без ошибок и выполняемые программы готовы, или в GL FALSE - в противном случае. Статус компоновки можно получить функцией glGetObjectParameterARB с аргументами program и GL_OBJECT_LINK_STATUS_ARB.
После успешной операции компоновки все активные определенные разработчиком uniform-переменные в program устанавливаются в 0, и для каждой из активных uniform-переменных устанавливается соответствие с определенным адресом, который можно получить вызовом функции gl GetUni formLocati onARB. Любые активные, определенные разработчиком attribute-переменные, еще не связанные с каким-либо индексом дополнительного атрибута вершины, связываются в момент компоновки.
Компоновка программного объекта может завершиться с ошибками по ряду причин, указанных в спецификации языка шейдеров OpenGL. Перечислим несколько ситуаций, которые могут спровоцировать ошибку компоновки.