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


Функция glTexEnvi

Функция glTexEnvi задает параметр среды текстуры.

Синтаксис

void WINAPI glTexEnvi(
   GLenum target,
   GLenum pname,
   GLint  param
);

Параметры

target

Среда текстуры. Должен быть GL_TEXTURE_ENV.

pname

Символьное имя однозначного параметра среды текстуры. Должен быть GL_TEXTURE_ENV_MODE.

param

Одна символьная константа, одна из GL_MODULATE, GL_DECAL, GL_BLEND или GL_REPLACE.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
target или pname не является одним из принятых определенных значений, или если параметр должен иметь определенное постоянное значение (на основе значения pname), а не имеет значения .
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Среда текстуры указывает, как интерпретируются значения текстуры при текстуре фрагмента. Целевой параметр должен быть GL_TEXTURE_ENV. Параметр 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

GL_TEXTURE_ENV_MODE по умолчанию GL_MODULATE.

Следующая функция извлекает сведения, связанные с glTexEnvi:

glTexGetEnviv

Требования

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

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

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter