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