Compartir a través de


Función glLightf

La función glLightf devuelve valores de parámetros de origen de luz.

Sintaxis

void WINAPI glLightf(
   GLenum  light,
   GLenum  pname,
   GLfloat param
);

Parámetros

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.

Valor Significado
GL_SPOT_EXPONENT
El parámetro param es un valor de punto flotante único que especifica la distribución de intensidad de la luz. Los valores 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 valor de punto flotante único que especifica el ángulo máximo de propagación de una fuente de luz. Los valores 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 valor de punto flotante único que especifica uno de los tres factores de atenuación de luz. Los valores 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.

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
light o pname no era un valor aceptado.
GL_INVALID_VALUE
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.
GL_INVALID_OPERATION
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Comentarios

La función glLightf 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 glLightf :

glGetLight

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

Consulte también

glBegin

glColorMaterial

glEnd

glLightModel

glMaterial