Función glTexGenfv
Controla la generación de coordenadas de textura.
Sintaxis
void WINAPI glTexGenfv(
GLenum coord,
GLenum pname,
const GLfloat *params
);
Parámetros
-
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.
-
params
-
Matriz de floats que contiene los coeficientes de la función de generación de texturas correspondiente.
GLfloat zPlane[] = { 0.0f, 0.0f, 1.0f, 0.0f };
Valor devuelto
Esta función no devuelve ningún valor.
Códigos de error
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. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
Comentarios
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 nombra 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_OBJECT_PLANE o GL_EYE_PLANE, el parámetro contiene coeficientes para la función de generación de textura correspondiente.
Si la función de generación de texturas es 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 asignar terrenos de mapa de textura 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 está 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 parámetros y M es la matriz de vista del modelo 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 del parámetro 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 poligonales. Esta función establece un campo de coordenadas de textura que puede producir líneas de contorno dinámicos 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. Vamos a ser el vector de unidad que apunta desde el origen al vértice poligonal (en coordenadas oculares). Deje que n sea el normal actual, después de la transformación en coordenadas oculares. Deje que f = (fx ( ) fy ( ) fz)T sea el vector de reflexión de modo que
Por último, deje que
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 están deshabilitadas. 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 siguientes funciones recuperan información relacionada con glTexGen:
glGetTexGen
glIsEnabled con GL_TEXTURE_GEN_S de argumento
glIsEnabled con GL_TEXTURE_GEN_T de argumento
glIsEnabled con GL_TEXTURE_GEN_R de argumentos
glIsEnabled con GL_TEXTURE_GEN_Q de argumento
Requisitos
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 |
|