Función glLightModeliv

La función glLightModeliv establece parámetros de modelo de iluminación.

Sintaxis

void WINAPI glLightModeliv(
         GLenum pname,
   const GLint  *params
);

Parámetros

pname

Parámetro de modelo de iluminación. Se aceptan los valores siguientes.

Value Significado
GL_LIGHT_MODEL_AMBIENT
El parámetro params contiene cuatro valores enteros que especifican la intensidad RGBA ambiental de toda la escena. Los valores enteros se asignan linealmente de modo que el valor representable más positivo se asigna a 1,0 y el valor representable más negativo se asigna a -1,0. Los valores de punto flotante se asignan directamente. No se fijan valores enteros ni de punto flotante. La intensidad predeterminada de la escena ambiente es (0.2, 0.2, 0.2, 1.0).
GL_LIGHT_MODEL_LOCAL_VIEWER
El parámetro params es un único valor entero que especifica cómo se calculan los ángulos de reflexión especulares. Si el parámetro es 0 (o 0,0), los ángulos de reflexión especular toman la dirección de la vista para que sea paralela y en la dirección del eje -z , independientemente de la ubicación del vértice en coordenadas oculares. De lo contrario, las reflexiones especulares se calculan desde el origen del sistema de coordenadas oculares. El valor predeterminado es 0.
GL_LIGHT_MODEL_TWO_SIDE
El parámetro params es un único valor entero que especifica si se realizan cálculos de iluminación de un lado o dos para polígonos. No tiene ningún efecto en los cálculos de iluminación de puntos, líneas o mapas de bits. Si el parámetro es 0 (o 0,0), se especifica la iluminación de un lado y solo se usan los parámetros de material frontal en la ecuación de iluminación. De lo contrario, se especifica la iluminación de dos lados.
En este caso, los vértices de polígonos orientados hacia atrás se iluminan mediante los parámetros de material posterior y tienen sus normales invertidos antes de evaluar la ecuación de iluminación. Los vértices de polígonos frontales siempre se iluminan mediante los parámetros de material frontal, sin cambios en sus normales. El valor predeterminado es 0.

params

Puntero al valor o los valores a los que se establecerán los parámetros .

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

Comentarios

La función glLightModeliv establece el parámetro del modelo de iluminación. El parámetro pname asigna un parámetro y parámetros al nuevo valor.el valor o los valores de los parámetros de origen de luz individuales.

En el modo RGBA, el color claro de un vértice es la suma de la intensidad de emisión de material, el producto de la reflectancia ambiental del material y la intensidad ambiental de la escena completa del modelo de iluminación, y la contribución de cada fuente de luz habilitada. Cada fuente de luz contribuye a la suma de tres términos: ambiente, difuso y especular.

  • La contribución de la fuente de luz ambiente es el producto de la reflectancia ambiental del material y la intensidad ambiental de la luz.
  • La contribución de la fuente de luz difusa es el producto de la reflectancia difusa del material, la intensidad difusa de la luz y el producto de punto de la normalidad del vértice con el vector normalizado del vértice a la fuente de luz.
  • La contribución de la fuente de luz especular es el producto de la reflectancia especular del material, la intensidad especular de la luz y el producto de punto del vértice a ojo normalizado y vectores de vértice a luz, elevado a la potencia de la brillo del material.

Las tres contribuciones de fuente de luz se atenuan igualmente en función de la distancia desde el vértice hasta la fuente de luz y en la dirección de la fuente de luz, exponente de propagación y ángulo de corte de propagación. Todos los productos de puntos se reemplazan por cero si se evalúan como un valor negativo.

El componente alfa del color claro resultante se establece en el valor alfa de la reflectancia difusa del material.

En el modo de índice de color, el valor del índice iluminado de un vértice oscila entre el ambiente y los valores especulares pasados a glMaterial mediante GL_COLOR_INDEXES. Coeficientes difusos y especulares, calculados con una ponderación (.30, .59, .11) de los colores de la luz, la brillanteidad del material, y las mismas ecuaciones de reflexión y atenuación que en el caso RGBA, determinan cuánto por encima del ambiente es el índice resultante.

Las siguientes funciones recuperan información relacionada con la función glLightModeliv :

glGet con GL_LIGHT_MODEL_LOCAL_VIEWER de argumentos

glGet con GL_LIGHT_MODEL_TWO_SIDE de argumentos

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

glEnd

glLight

glMaterial