Количество активных атрибутов можно узнать с помощью функции gl Get -Obj ect Pa rameterARB с параметром GL_0BJECT_ACTI VE_ATTRIBUTES_ARB. При значении i ndex, равном 0, возвращается информация о первой активной attribute-переменной, а при index, равном GL_0BJECT_ACTIVE_ATTRIBL)TES_ARB-1, возвращается информация о последней активной attribute-переменной. Длину символьного буфера, требующуюся для сохранения самого длинного имени переменной из program, можно получить с помощью функции glGetObjectParameterARB с параметром GL_0BJECT_ACTIVE_ ATTRIBUTE_MAX_LENGTH_ARB.
В type возвращается указатель на значение типа данных attribute-переменной. Возможные типы данных: GL_FL0AT, GL_FL0AT_VEC2_ARB, GL_FL0AT_VEC3_ARB, GL_FL0AT_-VEC4_ARB, GL_FL0AT_MAT2_ARB, GL_FL0AT_MAT3_ARB, GL_FL0AT_MAT4_ARB. В size возвращается размер атрибута в единицах типа из type.
Приложение Б. Справочник функций API
Эта функция возвращает максимум информации об указанной аипЬЩе-пере-менной, а если таковой нет, значение 1 епд1;п будет равно 0, а пате - пустой строке. Это может произойти в случае неудачного выполнения операции компоновки.
GL_INVALID_VALUE возникает в следующих случаях:
□ program не является дескриптором объекта OpenGL;
□ значение i ndex больше или равно GL_OBJECT_ACTI V E_ATTR IВ UT Е S_ARB.
□ значение maxLength меньше 0.
GL_INVAL ID_0PERATI0N возникает в следующих случаях:
□ program не является объектом типа GL_PRÛGRAM_OBJECT_ARB;
□ функция gl GetActi veAttri bARB выполняется между соответствующими вызовами glBegin иglEnd.
Смотри также
gl Bi ndAttri bLocationARB, gl Li nkProgramARB, gl VertexAttri bARB, 1VertexAttri ЬРот nterARB
gl GetActi veUni formARB - возвращает информацию об активной uniform-переменной из указанного программного объекта.
void glGetActiveUniformARBC GLhandleARB program,
GLuint index,
GLsizei maxLength.
GLsizei *length.
GLint *size.
GLenum *type.
GLcharARB *name)
Ошибки
gIGetActiveUniformARB
Название Прототип функции Параметры
program
Дескриптор программного объекта, к которому выполняется запрос.