Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция 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 [только классические приложения] |
| Заголовок |
|