Función glLighti
La función glLighti devuelve valores de parámetros de origen de luz.
void WINAPI glLighti(
GLenum light,
GLenum pname,
GLint param
);
-
light
-
Identificador de una luz. El número de luces posibles depende de la implementación, pero se admiten al menos ocho luces. Se identifican por nombres simbólicos de la forma GL_LIGHTi donde i es un valor: 0 a GL_MAX_LIGHTS - 1.
-
pname
-
Parámetro de fuente de luz con un solo valor para la luz. Se aceptan los siguientes nombres simbólicos.
Value Significado - GL_SPOT_EXPONENT
El parámetro param es un valor entero único que especifica la distribución de intensidad de la luz. Los valores enteros y de punto flotante se asignan directamente. Solo se aceptan valores del intervalo [0, 128].
La intensidad de la luz efectiva se atenua por el coseno del ángulo entre la dirección de la luz y la dirección de la luz al vértice que se ilumina, elevado a la potencia del exponente de la mancha. Por lo tanto, los exponentes de puntos más altos dan lugar a una fuente de luz más centrada, independientemente del ángulo de corte de punto. El exponente de spot predeterminado es 0, lo que da lugar a una distribución uniforme de la luz.- GL_SPOT_CUTOFF
El parámetro param es un único valor entero que especifica el ángulo máximo de propagación de una fuente de luz. Los valores enteros y de punto flotante se asignan directamente. Solo se aceptan los valores del intervalo [0, 90] y el valor especial 180.
Si el ángulo entre la dirección de la luz y la dirección de la luz al vértice que se está iluminando es mayor que el ángulo de corte de punto, la luz se enmascara completamente. De lo contrario, su intensidad se controla mediante el exponente del punto y los factores de atenuación. El corte de spot predeterminado es 180, lo que da lugar a una distribución uniforme de luz.- GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
El parámetro param es un único valor entero que especifica uno de los tres factores de atenuación de luz. Los valores enteros y de punto flotante se asignan directamente. Solo se aceptan valores no negativos.
Si la luz es posicional, en lugar de direccional, su intensidad se atenua por la recíproca de la suma de: el factor constante, el factor lineal multiplicado por la distancia entre la luz y el vértice que se ilumina, y el factor cuadrático multiplicado por el cuadrado de la misma distancia. Los factores de atenuación predeterminados son (1,0,0), lo que da lugar a ninguna atenuación. -
param
-
Especifica el valor en el que se establecerá el parámetro pname de la luz de fuente de luz.
Esta función no devuelve ningún valor.
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
light o pname no era un valor aceptado. |
|
Se especificó un valor exponente de spot fuera del intervalo [0, 128] o se especificó un corte puntual fuera del intervalo [0, 90] (excepto para el valor especial 180) o se especificó un factor de atenuación negativo. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
La función glLighti establece el valor o los valores de los parámetros de fuente de luz individuales. El parámetro light nombra la luz y es un nombre simbólico del formulario GL_LIGHTi, donde 0 = i< GL_MAX_LIGHTS.
El parámetro pname especifica uno de los parámetros de origen de luz, de nuevo por nombre simbólico. El parámetro param es un valor único o un puntero a una matriz que contiene los nuevos valores.
El cálculo de iluminación está habilitado y deshabilitado mediante glEnable y glDisable con GL_LIGHTING de argumentos. Cuando la iluminación está habilitada, las fuentes de luz habilitadas contribuyen al cálculo de la iluminación. La fuente de luz i está habilitada y deshabilitada mediante glEnable y glDisable con el argumento GL_LIGHTi.
Siempre es el caso de que GL_LIGHTi = GL_LIGHT0 + i.
Las siguientes funciones recuperan información relacionada con la función glLighti :
glIsEnabled con GL_LIGHTING de argumento
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 |
|