Поделиться через


Функция glInterleavedArrays

Функция glInterleavedArrays одновременно задает и включает несколько чередуемых массивов в более крупном агрегатном массиве.

Синтаксис

void WINAPI glInterleavedArrays(
         GLenum  format,
         GLsizei stride,
   const GLvoid  *pointer
);

Параметры

format

Тип включаемого массива. Параметр может принимать одно из следующих символьных значений: GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F или GL_T4F_C4F_N3F_V4F.

Шаг

Смещение в байтах между каждым элементом агрегатного массива.

Указатель

Указатель на первый элемент агрегатного массива.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
Формат не является допустимым значением.
GL_INVALID_VALUE
шаг был отрицательным значением.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

С помощью функции glInterleavedArrays можно одновременно указать и включить несколько чередуемых массивов цветов, нормальных, текстур и вершин, элементы которых являются частью большего элемента агрегатного массива. Для некоторых архитектур памяти это более эффективно, чем указание массивов по отдельности.

Если параметр шага равен нулю, то элементы агрегатного массива сохраняются последовательно; в противном случае между элементами агрегатного массива возникают байты шага.

Параметр format служит ключом, описывающим извлечение отдельных массивов из агрегатного массива:

  • Если формат содержит T, координаты текстур извлекаются из массива чередуемых копий.
  • Если присутствует C, то значения цвета извлекаются.
  • Если присутствует N, извлекаются нормальные координаты.
  • Координаты вершин всегда извлекаются.
  • Цифры 2, 3 и 4 указывают, сколько значений извлекается.
  • F указывает, что значения извлекаются как значения с плавающей запятой.
  • Если 4UB следует за C, цвета также могут быть извлечены как 4 неподписанных байта. Если цвет извлекается в виде 4 неподписанных байта, следующий элемент массива вершин находится по первому возможному адресу с плавающей запятой.

При вызове glInterleavedArrays при компиляции отображаемого списка он не компилируется в список, а выполняется немедленно.

Нельзя включать вызовы glInterleavedArrays в glDisableClientState между вызовами glBegin и соответствующим вызовом glEnd.

Примечание

Функция glInterleavedArrays доступна только в OpenGL версии 1.1 или более поздней.

Функция glInterleavedArrays реализуется на стороне клиента без протокола. Так как параметры массива вершин находятся в состоянии клиента, они не сохраняются и не восстанавливаются с помощью glPushAttrib и glPopAttrib. Вместо этого используйте glPushClientAttrib и glPopClientAttrib .

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer