Función glTexGeni
Controla la generación de coordenadas de textura.
void WINAPI glTexGeni(
GLenum coord,
GLenum pname,
GLint param
);
-
coord
-
Coordenada de textura. Debe ser uno de los siguientes: GL_S, GL_T, GL_R o GL_Q.
-
pname
-
Nombre simbólico de la función de generación de coordenadas de textura.
-
param
-
Un único parámetro de generación de texturas con valores, uno de GL_OBJECT_LINEAR, GL_EYE_LINEAR o GL_SPHERE_MAP.
Esta función no devuelve ningún valor.
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
coord o pname no era un valor definido aceptado, o pname se GL_TEXTURE_GEN_MODE y los parámetros no eran un valor definido aceptado. |
|
pname era GL_TEXTURE_GEN_MODE, los parámetros se GL_SPHERE_MAP y coord era GL_R o GL_Q |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
La función glTexGen selecciona una función de generación de coordenadas de textura o proporciona coeficientes para una de las funciones. El parámetro coord asigna un nombre a una de las coordenadas de textura (s,t,r,q) y debe ser uno de estos símbolos: GL_S, GL_T, GL_R o GL_Q. El parámetro pname debe ser una de las tres constantes simbólicas: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE o GL_EYE_PLANE. Si pname es GL_TEXTURE_GEN_MODE, el parámetro especifica un modo, uno de GL_OBJECT_LINEAR, GL_EYE_LINEAR o GL_SPHERE_MAP. Si pname es GL_OBJECT_PLANE o GL_EYE_PLANE, el parámetro contiene coeficientes para la función de generación de texturas correspondiente.
Si la función de generación de texturas está GL_OBJECT_LINEAR, la función
! [Ecuación que muestra la función glTexGen cuando la función de generación de texturas es GL_OBJECT_LINEAR.]
se utiliza, donde g es el valor calculado para la coordenada denominada en coord; p1, p2, p3 y p4 son los cuatro valores proporcionados en parámetros; y x?, y?, z?, y w? son las coordenadas de objeto del vértice. Puede usar esta función para el terreno del mapa de texturas mediante el nivel de mar como plano de referencia (definido por p1, p2, p3 y p4). La función de generación de coordenadas GL_OBJECT_LINEAR calcula la altitud de un vértice de terreno como su distancia desde el nivel del mar; esa altitud se usa para indexar la imagen de textura para asignar nieve blanca a picos y hierba verde a las colinas, por ejemplo.
Si la función de generación de texturas es GL_EYE_LINEAR, la función
! [Ecuación que muestra la función glTexGen cuando la función de generación de texturas es GL_EYE_LINEAR.]
se usa, donde
y x?, y?, z?, y w? son las coordenadas oculares del vértice, p1, p2, p3 y p4 son los valores proporcionados en param y M es la matriz modelview al llamar a glTexGen. Si M está mal condicionado o singular, las coordenadas de textura generadas por la función resultante pueden ser inexactas o no definidas.
Tenga en cuenta que los valores de param definen un plano de referencia en coordenadas oculares. La matriz modelview que se aplica a ellas puede no ser la misma en vigor cuando se transforman los vértices de polígono. Esta función establece un campo de coordenadas de textura que puede producir líneas de contorno dinámico en objetos móviles.
Si pname es GL_SPHERE_MAP y coord es GL_S o GL_T, las coordenadas de textura s y t se generan de la siguiente manera. Deje que sea el vector de unidad que apunta desde el origen al vértice de polígono (en coordenadas oculares). Deje que n sea la normal actual, después de la transformación en coordenadas oculares. Let f = (fx ( ) fy ( ) fz)T be the reflection vector such that
Por último, deje
A continuación, los valores asignados a las coordenadas de textura i y t son
Puede habilitar o deshabilitar una función de generación de coordenadas de textura mediante glEnable o glDisable con uno de los nombres simbólicos de coordenadas de textura (GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R o GL_TEXTURE_GEN_Q) como argumento. Cuando esta función está habilitada, la coordenada de textura especificada se calcula según la función de generación asociada a esa coordenada. Cuando esta función está deshabilitada, los vértices posteriores toman la coordenada de textura especificada del conjunto actual de coordenadas de textura. Inicialmente, todas las funciones de generación de texturas se establecen en GL_EYE_LINEAR y se deshabilitan. Ambas ecuaciones de plano son (1,0,0,0); ambas ecuaciones de plano t son (0,1,0,0); y todas las ecuaciones de plano r y q son (0,0,0,0).
Las funciones siguientes recuperan información relacionada con glTexGen:
glGetTexGen
glIsEnabled con GL_TEXTURE_GEN_S de argumentos
glIsEnabled con GL_TEXTURE_GEN_T de argumentos
glIsEnabled con GL_TEXTURE_GEN_R de argumentos
glIsEnabled con GL_TEXTURE_GEN_Q de argumentos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Biblioteca |
|
Archivo DLL |
|