Função glTexGend
Controla a geração de coordenadas de textura.
void WINAPI glTexGend(
GLenum coord,
GLenum pname,
GLdouble param
);
-
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.
-
param
-
Um único parâmetro de geração de textura com valor único, um dos GL_OBJECT_LINEAR, GL_EYE_LINEAR ou GL_SPHERE_MAP.
Essa função não retorna um valor.
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. |
|
pname era GL_TEXTURE_GEN_MODE, params era GL_SPHERE_MAP, e coord era GL_R ou GL_Q |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
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_TEXTURE_GEN_MODE, param especificará um modo, um de GL_OBJECT_LINEAR, GL_EYE_LINEAR ou GL_SPHERE_MAP. 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
é 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 para 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
é 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 param 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.
Os valores no parâmetro definem um plano de referência nas coordenadas oculares. A matriz de visão de modelo que é aplicada a elas não pode ser a mesma em vigor quando os vértices do 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. Deixe-o 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 é computada de acordo com a função de geração associada a essa coordenada. Quando a função é desabilitada, os vértices subsequentes tomam 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 do plano r e q são (0,0,0,0).
As seguintes funções recuperam informações relacionadas ao glTexGen:
glGetTexGen
glIsEnabled com GL_TEXTURE_GEN_S de argumento
glIsEnabled com GL_TEXTURE_GEN_T de argumento
glIsEnabled com GL_TEXTURE_GEN_R de argumento
glIsEnabled com GL_TEXTURE_GEN_Q de argumento
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 |
|