index maxLength
Индекс uniform-переменной, для которой выполняется запрос. Максимальное количество символов, которое OpenGL может записать в буфер пате.
length
Возвращает количество символов, записанных в буфер name (без учета завершающего нуля), если в функцию передается не NULL.
gIGetActiveUniformARB
type
name
size
Возвращает размер ишЬгт-переменной. Возвращает тип ишкэгт-переменной.
Возвращает строку с завершающим нулем, в которой содержится имя ишгогт-переменной.
Описание Функция gl GetActi veUni formARB возвращает информацию об активной uniform-переменной из программного объекта program. Размер буфера символов, который выделяется приложением, указан в maxLength, ауказатель на этот буфер передается в name. Uniform-переменная (встроенная или определенная разработчиком) считается активной, если во время операции компоновки было определено, что программа может обращаться к переменной во время выполнения. Это означает, что для program должна хотя бы раз выполниться операция компоновки gl Li nkProgramARB, не обязательно успешно.
Функция gl GetAct i veUni formARB возвращает имя uniform-переменной, указанной по i ndex, сохраняя его в буфере name. Возвращаемая строка завершается нуль-символом. Количество реально записанных символов без учета нуль-символа возвращается в 1 ength. Если приложению это значение не требуется, можно передавать NULL.
Количество активных uniform-переменных можно узнать с помощью функции gl Get Ob j ect Pa ra met e r ARB с параметром GL_0B J ECT_ACT IVEJJNI F0RMS_ARB. При з начении index, равном 0, возвращается информация о первой активной uniform-переменной, а при i ndex, равном GLJOBJ ЕСТ_АСТ IVE_UN I F0RMS_ARB-1, возвращается информация о последней активной uniform-переменной. Длину символьного буфера, требующуюся для сохранения самого длинного имени uniform-переменной из program, можно получить с помощью функции glGetObjectParameterARB с параметром GL_0BJECT_ ACTIVE_UNIF0RM_MAX_LENGTH_ARB.
В type возвращается указатель на значение типа данных uniform-переменной. Возможные типы данных: GL_FL0AT, GL_FL0AT_VEC2_ARB, GL_FL0AT_VEC3_ARB, GL_FL0AT_VEC4_ARB, GL_INT, GL_INT_VEC2_ARB, GL_INT_VEC3_ARB, GL_INT_VEC4_ARB, GL_B00L_ARB, GL_B00L_VEC2_ARB,GL_B00L_VEC3_ARB, GL_B00L_VEC4_ARB, GL_FL0AT_MAT2_ARB, GL_FL0AT_MAT3_ARB, GL_FL0AT_MAT4_ARB.