Compartilhar via


Função glTexEnvfv

A função glTexEnvfv define um parâmetro de ambiente de textura.

Sintaxe

void WINAPI glTexEnvfv(
         GLenum  target,
         GLenum  pname,
   const GLfloat *params
);

Parâmetros

destino

Um ambiente de textura. Deve ser GL_TEXTURE_ENV.

Pname

O nome simbólico de um parâmetro de ambiente de textura de valor único. Os valores aceitos são GL_TEXTURE_ENV_MODE e GL_TEXTURE_ENV_COLOR.

params

Um ponteiro para uma matriz de parâmetros: uma única constante simbólica ou uma cor RGBA.

Retornar valor

Essa função não retorna um valor.

Códigos de erro

Os códigos de erro a seguir podem ser recuperados pela função glGetError .

Nome Significado
GL_INVALID_ENUM
target ou pname não era um dos valores definidos aceitos ou quando os parâmetros deveriam ter um valor constante definido (com base no valor de pname) e não o fizeram.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

Um ambiente de textura especifica como os valores de textura são interpretados quando um fragmento é texturizado. O parâmetro de destino deve ser GL_TEXTURE_ENV. O parâmetro pname pode ser GL_TEXTURE_ENV_MODE ou GL_TEXTURE_ENV_COLOR.

Se pname for GL_TEXTURE_ENV_MODE, params será (ou aponta para) o nome simbólico de uma função de textura. Três funções de textura são definidas: GL_MODULATE, GL_DECAL e GL_BLEND.

Uma função de textura atua no fragmento a ser texturizado usando o valor da imagem de textura que se aplica ao fragmento (consulte glTexParameter) e produz uma cor RGBA para esse fragmento. A tabela a seguir mostra como a cor RGBA é produzida para cada uma das três funções de textura que podem ser escolhidas. C é um triplo de valores de cor (RGB) e A é o valor alfa associado. Os valores RGBA extraídos de uma imagem de textura estão no intervalo [0, 1]. O subscrito f refere-se ao fragmento de entrada, ao subscrito à imagem de textura, ao subscrito c à cor do ambiente de textura e ao subscrito v indica um valor produzido pela função de textura.

Uma imagem de textura pode ter até quatro componentes por elemento de textura (consulte glTexImage1D e glTexImage2D). Em uma imagem de um componente, Lt indica esse único componente. Uma imagem de dois componentes usa L? e A? . Uma imagem de três componentes tem apenas um valor de cor, C? . Uma imagem de quatro componentes tem um valor de cor C? e um valor alfa A? .

Número de componentes GL_MODULATE GL_DECAL GL_BLEND
1${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1 - L?)Cf + L?Cc
Av = Af Av = Af
2${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1 - L?)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 = Um?Af Av = Af

Se pname for GL_TEXTURE_ENV_COLOR, params será um ponteiro para uma matriz que contém uma cor RGBA que consiste em quatro valores. Os componentes de cor inteiro são interpretados linearmente de modo que o inteiro mais positivo mapeia para 1,0 e o inteiro mais negativo é mapeado para -1,0. Os valores são fixados no intervalo [0, 1] quando são especificados. Cc usa esses quatro valores.

GL_TEXTURE_ENV_MODE usa como padrão GL_MODULATE e GL_TEXTURE_ENV_COLOR usa como padrão (0, 0, 0, 0).

A função a seguir recupera informações relacionadas a glTexEnvfv:

glTexGetEnvfv

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter