Функция glTexEnvfv
Функция glTexEnvfv задает параметр среды текстуры.
Синтаксис
void WINAPI glTexEnvfv(
GLenum target,
GLenum pname,
const GLfloat *params
);
Параметры
-
target
-
Среда текстуры. Должен быть GL_TEXTURE_ENV.
-
pname
-
Символьное имя однозначного параметра среды текстуры. Допустимые значения: GL_TEXTURE_ENV_MODE и GL_TEXTURE_ENV_COLOR.
-
params
-
Указатель на массив параметров: одна символьная константа или цвет RGBA.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
target или pname не является одним из принятых определенных значений, или если параметр должен иметь определенное постоянное значение (на основе значения pname), а не имеет значения . |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Комментарии
Среда текстуры указывает, как интерпретируются значения текстуры при текстуре фрагмента. Целевой параметр должен быть GL_TEXTURE_ENV. Параметр pname может быть GL_TEXTURE_ENV_MODE или GL_TEXTURE_ENV_COLOR.
Если pname — GL_TEXTURE_ENV_MODE, то параметр — (или указывает на) символьное имя функции текстуры. Определены три функции текстуры: GL_MODULATE, GL_DECAL и GL_BLEND.
Функция текстуры действует на фрагмент для текстуры, используя значение изображения текстуры, которое применяется к фрагменту (см. glTexParameter), и создает цвет RGBA для этого фрагмента. В следующей таблице показано, как создается цвет RGBA для каждой из трех функций текстуры, которые можно выбрать. C — это три значения цвета (RGB), а A — связанное альфа-значение. Значения RGBA, извлеченные из изображения текстуры, находятся в диапазоне [0, 1]. Подстрочный индекс f относится к входящему фрагменту, индекс t — к изображению текстуры, индекс c — к цвету среды текстуры, а индекс v — на значение, созданное функцией текстуры.
Изображение текстуры может содержать до четырех компонентов на каждый элемент текстуры (см . glTexImage1D и glTexImage2D). На однокомпонентном изображении Lt указывает на этот компонент. В двухкомпонентном образе используются L? и A? . Трехкомпонентное изображение имеет только значение цвета C? . Четырехкомпонентное изображение имеет как значение цвета C?, так и альфа-значение A? .
Количество компонентов | GL_MODULATE | GL_DECAL | GL_BLEND |
---|---|---|---|
1${REMOVE}$ |
Cv = L?Cf | undefined${REMOVE}$ |
Cv = (1 - л?)Cf + L?Cc |
Av = Af | Av = Af | ||
2${REMOVE}$ |
Cv = L?Cf | undefined${REMOVE}$ |
Cv = (1 - л?)Cf + L?Cc |
Av = Af | Av = Af | ||
3${REMOVE}$ |
Cv = C?Cf | Cv = C? | undefined${REMOVE}$ |
Av = Af | Av = Af | ||
4${REMOVE}$ |
Cv = C?Cf | Cv = (1 - A?)Cf + A?C? | undefined${REMOVE}$ |
Av = А?Af | Av = Af |
Если параметр pname GL_TEXTURE_ENV_COLOR, параметр — это указатель на массив, содержащий цвет RGBA, состоящий из четырех значений. Компоненты целочисленного цвета интерпретируются линейно так, что наиболее положительное целое число сопоставляется с 1,0, а наиболее отрицательное целочисленное — с -1,0. Значения при указании зажимаются в диапазоне [0, 1]. Cпринимает эти четыре значения.
GL_TEXTURE_ENV_MODE по умолчанию GL_MODULATE, а GL_TEXTURE_ENV_COLOR — (0, 0, 0, 0).
Следующая функция извлекает сведения, связанные с glTexEnvfv:
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|