Função glTexGenfv
Controla a geração de coordenadas de textura.
Sintaxe
void WINAPI glTexGenfv(
GLenum coord,
GLenum pname,
const GLfloat *params
);
Parâmetros
-
coord
-
Uma coordenada de textura. Deve ser um dos seguintes: GL_S, GL_T, GL_R ou GL_Q.
-
Pname
-
O nome simbólico da função de geração de coordenadas de textura.
-
params
-
Uma matriz de floats que contém os coeficientes para a função de geração de textura correspondente.
GLfloat zPlane[] = { 0.0f, 0.0f, 1.0f, 0.0f };
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 |
---|---|
|
coord ou pname não era um valor definido aceito ou pname era GL_TEXTURE_GEN_MODE e params não era um valor definido aceito. |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
Comentários
A função glTexGen seleciona uma função de geração de coordenadas de textura ou fornece coeficientes para uma das funções. O parâmetro coord nomeia uma das coordenadas de textura (s,t,r,q) e deve ser um destes símbolos: GL_S, GL_T, GL_R ou GL_Q. O parâmetro pname deve ser uma das três constantes simbólicas: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE ou GL_EYE_PLANE. Se pname for GL_OBJECT_PLANE ou GL_EYE_PLANE, param conterá coeficientes para a função de geração de textura correspondente.
Se a função de geração de textura for GL_OBJECT_LINEAR, a função
! [Equação mostrando a função glTexGen quando a função de geração de textura é GL_OBJECT_LINEAR.]
é usado, em que g é o valor calculado para a coordenada nomeada em coord; p1, p2, p3 e p4 são os quatro valores fornecidos em parâmetros; e x?, y?, z?, e w? são as coordenadas de objeto do vértice. Você pode usar essa função para mapear terrenos de textura usando o nível do mar como um plano de referência (definido por p1, p2, p3 e p4). A função de geração de coordenadas GL_OBJECT_LINEAR calcula a altitude de um vértice de terreno como sua distância do nível do mar; essa altitude é usada para indexar a imagem de textura para mapear neve branca em picos e grama verde em sopés, por exemplo.
Se a função de geração de textura for GL_EYE_LINEAR, a função
! [Equação mostrando a função glTexGen quando a função de geração de textura é GL_EYE_LINEAR.]
é usado, em que
e x?, y?, z?, e w? são as coordenadas oculares do vértice, p1, p2, p3 e p4 são os valores fornecidos no parâmetro e M é a matriz de visão de modelo quando você chama glTexGen. Se M for mal condicionada ou singular, as coordenadas de textura geradas pela função resultante poderão ser imprecisas ou indefinidas.
Observe que os valores no parâmetro definem um plano de referência em coordenadas oculares. A matriz de visão de modelo que é aplicada a eles pode não ser a mesma em vigor quando os vértices de polígono são transformados. Essa função estabelece um campo de coordenadas de textura que pode produzir linhas de contorno dinâmico em objetos móveis.
Se pname for GL_SPHERE_MAP e coord for GL_S ou GL_T, as coordenadas de textura s e t serão geradas da seguinte maneira. Vamos ser o vetor de unidade que aponta da origem para o vértice do polígono (em coordenadas oculares). Que n seja o normal atual, após a transformação em coordenadas oculares. Let f = (fx ( ) fy ( ) fz)T ser o vetor de reflexão de modo que
Por fim, vamos
Em seguida, os valores atribuídos às coordenadas de textura i e t são
Você pode habilitar ou desabilitar uma função de geração de coordenadas de textura usando glEnable ou glDisable com um dos nomes simbólicos de coordenadas de textura (GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R ou GL_TEXTURE_GEN_Q) como o argumento. Quando essa função está habilitada, a coordenada de textura especificada é calculada de acordo com a função de geração associada a essa coordenada. Quando essa função é desabilitada, os vértices subsequentes assumem a coordenada de textura especificada do conjunto atual de coordenadas de textura. Inicialmente, todas as funções de geração de textura são definidas como GL_EYE_LINEAR e são desabilitadas. Ambas as equações do plano são (1,0,0,0); ambas as equações do plano t são (0,1,0,0); e todas as equações de plano r e q são (0,0,0,0).
As seguintes funções recuperam informações relacionadas ao glTexGen:
glGetTexGen
glIsEnabled com argumento GL_TEXTURE_GEN_S
glIsEnabled com GL_TEXTURE_GEN_T de argumento
glIsEnabled com argumento GL_TEXTURE_GEN_R
glIsEnabled com argumento GL_TEXTURE_GEN_Q
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 |
|
Biblioteca |
|
DLL |
|