Функция glGetColorTableEXT
Функция glGetColorTableEXT получает данные таблицы цветов текущей целевой палитры текстур.
Синтаксис
void WINAPI glGetColorTableEXT(
GLenum target,
GLenum format,
GLenum type,
const GLvoid *data
);
Параметры
-
target
-
Целевая текстура, в которую необходимо изменить палитру. Должен быть TEXTURE_1D или TEXTURE_2D.
-
format
-
Формат данных в пикселях. Принимаются следующие символьные константы.
Значение Значение - GL_RGBA
Каждый пиксель представляет собой группу из четырех компонентов в следующем порядке: красный, зеленый, синий, альфа. Формат RGBA определяется следующим образом: - Функция glGetColorTableEXT преобразует значения с плавающей запятой непосредственно во внутренний формат с неопределенной точностью. Целочисленные значения со знаком сопоставляются линейно с внутренним форматом, так что наиболее положительное представляющееся целочисленное значение сопоставляется с 1,0, а наиболее отрицательное целочисленное значение сопоставляется с -1,0. Целочисленные данные без знака сопоставляются аналогичным образом: наибольшее целочисленное значение сопоставляется с 1,0, а ноль — с 0,0.
- Функция glGetColorTableEXT умножает результирующие значения цвета на GL_c_SCALE и добавляет их в GL_c_BIAS, где c — RED, GREEN, BLUE и ALPHA для соответствующих компонентов цвета. Результаты зажимаются в диапазоне [0,1].
- Если GL_MAP_COLOR имеет значение TRUE, то glGetColorTableEXT масштабирует каждый компонент цвета на размер таблицы подстановки GL_PIXEL_MAP_c_TO_c, а затем заменяет компонент значением, на которое он ссылается в этой таблице; c имеет значение R, G, B или A соответственно.
- Функция glGetColorTableEXT преобразует результирующие цвета RGBA в фрагменты, прикрепляя координаты Z текущей позиции растра и координаты текстуры к каждому пикселю, а затем присваивая координаты окна x и yn-муфрагменту, например x?
=
xr + nmod width
Да? = yr + n/width
где (xr , yr ) — текущая позиция растра. - Затем эти пиксельные фрагменты обрабатываются так же, как фрагменты, созданные растеризовыванием точек, линий или многоугольников. Функция glGetColorTableEXT применяет сопоставление текстур, туман и все операции фрагментов перед записью фрагментов в framebuffer.
- GL_RED
Каждый пиксель является одним красным компонентом.
Функция glGetColorTableEXT преобразует этот компонент во внутренний формат так же, как красный компонент пикселя RGBA, а затем преобразует его в пиксель RGBA с зеленым и синим цветом, равным 0,0, а альфа - в 1,0. После этого преобразования пиксель обрабатывается так же, как если бы он был считан как пиксель RGBA.- GL_GREEN
Каждый пиксель является одним зеленым компонентом.
Функция glGetColorTableEXT преобразует этот компонент во внутренний формат так же, как зеленый компонент пикселя RGBA, а затем преобразует его в пиксель RGBA с красным и синим цветом, равным 0,0, а альфа - 1,0. После этого преобразования пиксель обрабатывается так же, как если бы он был считан как пиксель RGBA.- GL_BLUE
Каждый пиксель является одним синим компонентом.
Функция glGetColorTableEXT преобразует этот компонент во внутренний формат так же, как синий компонент пикселя RGBA, а затем преобразует его в пиксель RGBA с красным и зеленым цветом, равным 0,0, а альфа - в 1,0. После этого преобразования пиксель обрабатывается так же, как если бы он был считан как пиксель RGBA.- GL_ALPHA
Каждый пиксель является одним альфа-компонентом.
Функция glGetColorTableEXT преобразует этот компонент во внутренний формат так же, как альфа-компонент пикселя RGBA, а затем преобразует его в пиксель RGBA с красным, зеленым и синим значением 0,0. После этого преобразования пиксель обрабатывается так же, как если бы он был считан как пиксель RGBA.- GL_RGB
Каждый пиксель представляет собой группу из трех компонентов в этом порядке: красный, зеленый, синий.
Функция glGetColorTableEXT преобразует каждый компонент во внутренний формат так же, как красный, зеленый и синий компоненты пикселей RGBA. Три цвета преобразуются в пиксель RGBA с альфа-значением 1,0. После этого преобразования пиксель обрабатывается так же, как если бы он был считан как пиксель RGBA.- GL_BGR_EXT
Каждый пиксель представляет собой группу из трех компонентов в этом порядке: синий, зеленый, красный.
GL_BGR_EXT предоставляет формат, соответствующий макету памяти независимых от устройств растровых изображений (DIB) Microsoft Windows. Таким образом, приложения могут использовать одни и те же данные при вызовах функций Windows и функциях пикселей OpenGL.- GL_BGRA_EXT
Каждый пиксель представляет собой группу из четырех компонентов в таком порядке: синий, зеленый, красный, альфа.
GL_BGRA_EXT предоставляет формат, соответствующий макету памяти независимых от устройств растровых изображений (DIB) Windows. Таким образом, приложения могут использовать одни и те же данные при вызовах функций Windows и функциях пикселей OpenGL. -
type
-
Тип данных для данных. Ниже приведены принятые символические константы и их значения.
Значение Значение - GL_UNSIGNED_BYTE
8-разрядное целое число без знака - GL_BYTE
8-разрядное целое число со знаком - GL_UNSIGNED_SHORT
16-разрядное целое число без знака - GL_SHORT
16-разрядное целое число со знаком - GL_UNSIGNED_INT
32-разрядное целое число без знака - GL_INT
32-разрядное целое число - GL_FLOAT
Число одинарной точности с плавающей запятой -
data
-
Указывает на расположение, в котором должны храниться сведения о возвращаемой цветовой таблице. Каждая запись таблицы цветов хранится так, как если бы это был один пиксель одноэлементной текстуры. Так как все текстуры имеют палитру по умолчанию, glGetColorTableEXT всегда возвращает сведения о палитре, даже если данные текстуры не имеют формат палитры.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
Значение target, format или type не является допустимым значением. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Функция glGetColorTableEXT получает фактические данные таблицы цветов, указанные в параметрах glColorTableEXT и glColorSubTableEXT.
Функция glGetColorTableEXT — это функция расширения, которая не является частью стандартной библиотеки OpenGL, но является частью расширения GL_EXT_paletted_texture. Чтобы проверка, поддерживает ли ваша реализация OpenGL glGetColorTableEXT, вызовите glGetString(GL_EXTENSIONS). Если возвращается GL_EXT_paletted_texture, поддерживается glGetColorTableEXT . Чтобы получить адрес функции расширения, вызовите wglGetProcAddress.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|