Поделиться через


Функция 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 .

Имя Значение
GL_INVALID_ENUM
target или pname не является одним из принятых определенных значений, или если параметр должен иметь определенное постоянное значение (на основе значения pname), а не имеет значения .
GL_INVALID_OPERATION
Функция была вызвана между вызовом 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:

glTexGetEnvfv

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

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

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter