Функция glPixelMapuiv

Функция glPixelMapuiv настраивает карты передачи пикселей.

Синтаксис

void WINAPI glPixelMapuiv(
         GLenum  map,
         GLsizei mapsize,
   const GLuint  *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 .

Имя Значение
GL_INVALID_ENUM
map не является допустимым значением.
GL_INVALID_VALUE
значение mapize отрицательное или больше GL_PIXEL_MAP_TABLE.
GL_INVALID_VALUE
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, и mapize не было силой двух.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Функция glPixelMap настраивает таблицы перевода или карты, используемые glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexSubImage1D и glTexSubImage2D. Использование этих карт полностью описано в разделе glPixelTransfer и частично в разделах, посвященных командам изображений пикселей и текстур. В этом разделе описана только спецификация карт.

Параметр map — это символическое имя карты, указывающее одну из десяти устанавливаемых карт. Параметр mapsize указывает количество записей в сопоставлении, а значения являются указателем на массив значений карты mapsize .

Записи на карте можно указать как числа с плавающей запятой с одной точностью, короткие целые числа без знака или длинные целые числа без знака. Карты, которые хранят значения компонентов цвета (все, кроме 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 [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

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

glBegin

glCopyPixels

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glReadPixels

glTexImage1D

glTexImage2D