Функция glPixelMapusv
Функция glPixelMapusv настраивает карты передачи пикселей.
Синтаксис
void WINAPI glPixelMapusv(
GLenum map,
GLsizei mapsize,
const GLushort *values
);
Параметры
-
map
-
Символическое имя карты. Десять карт следующие.
Значение Значение - GL_PIXEL_MAP_I_TO_I
Сопоставляет цветовые индексы с индексами цветов. - GL_PIXEL_MAP_S_TO_S
Сопоставляет индексы набора элементов с индексами набора элементов. - GL_PIXEL_MAP_I_TO_R
Сопоставляет цветовые индексы с красными компонентами. - GL_PIXEL_MAP_I_TO_G
Сопоставляет цветовые индексы с зелеными компонентами. - GL_PIXEL_MAP_I_TO_B
Сопоставляет цветовые индексы с синими компонентами. - GL_PIXEL_MAP_I_TO_A
Сопоставляет цветовые индексы с альфа-компонентами. - GL_PIXEL_MAP_R_TO_R
Сопоставляет красные компоненты с красными компонентами. - GL_PIXEL_MAP_G_TO_G
Сопоставляет зеленые компоненты с зелеными компонентами. - GL_PIXEL_MAP_B_TO_B
Сопоставляет синие компоненты с синим. - GL_PIXEL_MAP_A_TO_A
Сопоставляет альфа-компоненты с альфа-компонентами. -
mapsize
-
Размер определяемой карты.
-
Значения
-
Массив значений mapize .
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Map не является допустимым значением. |
|
значение mapize отрицательно или больше GL_PIXEL_MAP_TABLE. |
|
GL_PIXEL_MAP_I_TO_I , GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B или GL_PIXEL_MAP_I_TO_A, а mapize не была силой двух. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glPixelMap настраивает таблицы перевода или карты, используемые glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexSubImage1D и glTexSubImage2D. Использование этих карт полностью описано в разделе glPixelTransfer и частично в разделах, посвященных командам изображений пикселей и текстур. В этом разделе описана только спецификация карт.
Параметр map — это символическое имя карты, указывающее на одну из десяти карт, которые нужно задать. Параметр mapsize указывает количество записей в сопоставлении, а значения являются указателем на массив значений карты mapize .
Записи на карте могут быть указаны в виде чисел с плавающей запятой с одной точностью, коротких целых чисел без знака или длинных целых чисел без знака. Карты, которые хранят значения компонентов цвета (все, кроме GL_PIXEL_MAP_I_TO_I и GL_PIXEL_MAP_S_TO_S), сохраняют свои значения в формате с плавающей запятой с неопределенными размерами мантиссы и экспоненты. Значения с плавающей запятой, заданные glPixelMapfv , преобразуются непосредственно во внутренний формат с плавающей запятой этих карт, а затем зажимаются в диапазон [0,1]. Целочисленные значения без знака, заданные glPixelMapusv и glPixelMapuiv , преобразуются линейно таким образом, что наибольшее представляемое целое число сопоставляется с 1,0, а ноль — с 0,0.
Карты, в которых хранятся индексы, GL_PIXEL_MAP_I_TO_I и GL_PIXEL_MAP_S_TO_S, сохраняют свои значения в формате с фиксированной точкой с неопределенным числом битов справа от двоичной точки. Значения с плавающей запятой, заданные glPixelMapfv , преобразуются непосредственно во внутренний формат с фиксированной запятой этих карт. Целочисленные значения без знака, заданные glPixelMapusv и glPixelMapuiv , указывают целочисленные значения со всеми нулями справа от двоичной точки.
В следующей таблице показаны начальные размеры и значения для каждой из карт. Карты, индексированные по цвету или по индексам набора элементов, должны иметь mapsize = 2 ^ n для некоторых n , иначе результаты не определены. Максимальный допустимый размер для каждой карты зависит от реализации и может быть определен путем вызова glGet с аргументом GL_MAX_PIXEL_MAP_TABLE. Один максимум применяется ко всем картам и не менее 32.
Карта | Индекс подстановки | Значение подстановки | Начальный размер | Начальное значение |
---|---|---|---|---|
GL_PIXEL_MAP_I_TO_I | индекс цвета | индекс цвета | 1 | 0,0 |
GL_PIXEL_MAP_S_TO_S | индекс набора элементов | индекс набора элементов | 1 | 0,0 |
GL_PIXEL_MAP_I_TO_R | индекс цвета | R | 1 | 0,0 |
GL_PIXEL_MAP_I_TO_G | индекс цвета | G | 1 | 0,0 |
GL_PIXEL_MAP_I_TO_B | индекс цвета | B | 1 | 0,0 |
GL_PIXEL_MAP_I_TO_A | индекс цвета | Объект | 1 | 0,0 |
GL_PIXEL_MAP_R_TO_R | R | R | 1 | 0,0 |
GL_PIXEL_MAP_G_TO_G | G | G | 1 | 0,0 |
GL_PIXEL_MAP_B_TO_B | B | B | 1 | 0,0 |
GL_PIXEL_MAP_A_TO_A | Объект | Объект | 1 | 0,0 |
Следующие функции извлекают сведения, связанные с glPixelMap:
glGet с аргументом GL_PIXEL_MAP_I_TO_I_SIZE
glGet с аргументом GL_PIXEL_MAP_S_TO_S_SIZE
glGet с аргументом GL_PIXEL_MAP_I_TO_R_SIZE
glGet с аргументом GL_PIXEL_MAP_I_TO_G_SIZE
glGet с аргументом GL_PIXEL_MAP_I_TO_B_SIZE
glGet с аргументом GL_PIXEL_MAP_I_TO_A_SIZE
glGet с аргументом GL_PIXEL_MAP_R_TO_R_SIZE
glGet с аргументом GL_PIXEL_MAP_G_TO_G_SIZE
glGet с аргументом GL_PIXEL_MAP_B_TO_B_SIZE
glGet с аргументом GL_PIXEL_MAP_A_TO_A_SIZE
glGet с аргументом GL_MAX_PIXEL_MAP_TABLE
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|