Эти функции возвращают в params значение дополнительного атрибута, заданного индексом index. Запрашиваемый параметр указан в рпате. Список всех параметров и возвращаемых значений приведен в табл. 7.2. Все параметры, кроме GL_CÜRRENT_VERTEX_ATTRIB_ARB, представляют состояние клиентской части OpenGL.
7.7. Установка uniform-переменных
Таблица 7.2. Параметры дополнительных атрибутов вершин
Параметр |
Операция |
|
GLJ/ERTE X JVTT RI B_ARRAY_ | ENABLEDjARB |
parems возвращает ненулевое значение (GL_TRUE) в случае, если массив атрибутов для данного индекса включен, и 0 (GL_FALSE), если выключен. Начальное значение - GL_FALSE |
|
parants возвращает размер массива атрибутов для index - количество значений, помещающееся в каждый элемент, от 1 до 4. Начальное значение - 4 |
|
GL_VERTEX_ATTRIB-ARRAY_ | STRIDE_ARB |
params возвращает шаг индекса (количество байт перед следующим элементом) в массиве атрибутов для данного индекса. Значение 0 означает, что элементы массива хранятся в памяти последовательно один за другим. Начальное значение - 0 |
SL JERTEX J\TTRIB_ARRAY_ | TYPE_ARB |
params возвращает символическую константу, обозначающую тип массива данного атрибута. Возможные значения: GL BYTE, GL UNSIGNED BYTE, GL SHORT, GL UNSIGNED SHORT, GL INT, GL_UNSIGNED_INT, GLJLOAT hGLJMUBLE. Начальное значение - GL_FL0AT |
GL_VERTEX_ATTRIB_ARRAY_ | NORMALIZED_ ARB |
params возвращает ненулевое значение (GL_TRUE), если типы данных для указанного атрибута бьти нормализованы при преобразовании, и 0 (GL FALSE), если не были. Начальное значение - GLJALSE |
|
params возвращает четыре значения - текущие значения атрибута. При указании индекса 0 в этом случае получится ошибка, так как у вершинного атрибута 0 нет текущего состояния. Начальное значение всех других атрибутов вершин - (0, 0, 0,1) |
void glGetVertexAttribPointervARB(GLuint index. GLenum pname. GLvoid **pomter)
Функция возвращает информацию об указателе. Здесь index - указанный индекс атрибута, рпате - символическая константа, обозначающая, какой указатель нужно возвратить, и params - указатель на место сохранения возвращаемых данных. Б рпате можно передавать лишь одно значение: GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB. В pointer возвратится значение указателя на массив вершинных атрибутов для дополнительного атрибута с номером index.