Share via


Función glTexGeni

Controla la generación de coordenadas de textura.

Sintaxis

void WINAPI glTexGeni(
   GLenum coord,
   GLenum pname,
   GLint  param
);

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.

param

Un único parámetro de generación de texturas con valores, uno de GL_OBJECT_LINEAR, GL_EYE_LINEAR o GL_SPHERE_MAP.

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
GL_INVALID_ENUM
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.
GL_INVALID_ENUM
pname era GL_TEXTURE_GEN_MODE, los parámetros se GL_SPHERE_MAP y coord era GL_R o GL_Q
GL_INVALID_OPERATION
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Observaciones

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

Ecuación que muestra las coordenadas oculares del vértice.

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

Ecuación que muestra el vector de reflexión como una función del vector de unidad y la normal actual.

Por último, deje

Ecuación que muestra m como una función del vector de reflexión.

A continuación, los valores asignados a las coordenadas de textura i y t son

Ecuación que muestra los valores asignados a las coordenadas de textura i y t.

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

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
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Vea también

glBegin

glEnd

glCopyTexImage2D

glCopyTexSubImage2D

glGetTexGen

glIsEnabled

glTexEnv

glTexImage1D

glTexParameter

glTexSubImage1D

glTexSubImage2D