Функция glColorPointer
Функция glColorPointer определяет массив цветов.
Синтаксис
void WINAPI glColorPointer(
GLint size,
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
Параметры
-
size
-
Количество компонентов на цвет. Значение должно быть равно 3 или 4.
-
type
-
Тип данных каждого компонента цвета в цветовом массиве. Допустимые типы данных указываются со следующими константами: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT или GL_DOUBLE.
-
Шаг
-
Смещение байтов между последовательными цветами. Если шаг равен нулю, цвета плотно упаковываются в массив.
-
Указатель
-
Указатель на первый компонент первого элемента цвета в цветовом массиве.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
размер не был 3 или 4. |
|
Type не является допустимым значением. |
|
шаг илисчетчик был отрицательным. |
Комментарии
Функция glColorPointer определяет расположение и формат данных массива цветовых компонентов, используемых при отрисовке. Параметр stride определяет смещение байтов от одного цвета к другому, позволяя упаковывать атрибуты вершин в одном массиве или хранить их в отдельных массивах. В некоторых реализациях хранение атрибутов вершин в одном массиве может быть более эффективным, чем использование отдельных массивов.
Включив массив цветов, указав константу GL_COLOR_ARRAY с помощью glEnableClientState. При вызове glArrayElement, glDrawElements или glDrawArrays используется включенный таким образом массив цветов. По умолчанию цветовой массив отключен. Вызовы glColorPointer не могут быть введены в отображаемых списках.
При указании цветового массива с помощью glColorPointer значения всех параметров цветового массива функции сохраняются в клиентском состоянии, и вы можете кэшировать статические элементы массива. Так как параметры массива цветов находятся в клиентском состоянии, значения параметров glPushAttrib и glPopAttrib не сохраняются и не восстанавливаются.
Хотя указание массива цветов в парах glBegin и glend не приводит к ошибке, результаты не определены.
Следующие функции извлекают сведения, связанные с функцией glColorPointer :
glIsEnabled с аргументом GL_COLOR_ARRAY
glGet с аргументом GL_COLOR_ARRAY_SIZE
glGet с аргументом GL_COLOR_ARRAY_TYPE
glGet с аргументом GL_COLOR_ARRAY_STRIDE
glGet с аргументом GL_COLOR_ARRAY_COUNT
glGetPointerv с аргументом GL_COLOR_ARRAY_POINTER
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|