Share via


Cálculos de iluminación

El modelo de luz Direct3D cubre la iluminación ambiental, difusa, especular y emisiva. Esta es suficiente flexibilidad para resolver una amplia gama de situaciones de iluminación. La cantidad total de luz en una escena se denomina iluminación global.

La iluminación global se calcula de la siguiente manera:

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

La iluminación ambiental es una iluminación constante. La iluminación ambiente es constante en todas las direcciones y colorea todos los píxeles de un objeto igual. Es rápido calcular pero deja objetos con aspecto plano y poco realista.

La iluminación difusa depende de la dirección de la luz y de la superficie del objeto normal. La iluminación difusa varía en toda la superficie de un objeto como resultado del cambio de dirección de la luz y del vector numérico de superficie cambiante. Se tarda más tiempo en calcular la iluminación difusa porque cambia para cada vértice de objeto, pero la ventaja de usarla es que sombrea objetos y les proporciona profundidad tridimensional (3D).

La iluminación especular identifica los resaltados especulares brillantes que se producen cuando la luz alcanza una superficie de objeto y se refleja hacia la cámara. La iluminación especular es más intensa que la luz difusa y cae más rápidamente en la superficie del objeto. Se tarda más tiempo en calcular la iluminación especular que la iluminación difusa, pero la ventaja de usarlo es que agrega detalles significativos a una superficie.

La iluminación emisiva es la luz emitida por un objeto; por ejemplo, un resplandor. La emisión hace que un objeto representado parezca ser autoluminoso. La emisión afecta al color de un objeto y puede, por ejemplo, hacer que un material oscuro sea más brillante y tomar parte del color emitido.

La iluminación realista se puede lograr aplicando cada uno de estos tipos de iluminación a una escena 3D. Los valores calculados para los componentes ambiental, emisivo y difuso son los resultados como el color de vértice difuso; el valor del componente de iluminación especular se genera como el color del vértice especular. Los valores de luz ambiente, difuso y especular pueden verse afectados por la atenuación y el factor de foco de luz determinado. Consulte Atenuación y factor de contenido destacado.

Para lograr un efecto de iluminación más realista, agrega más luces; sin embargo, la escena tarda más tiempo en representarse. Para lograr todos los efectos que un diseñador quiere, algunos juegos usan más potencia de CPU de la que está disponible con frecuencia. En este caso, es habitual reducir el número de cálculos de iluminación a un mínimo mediante mapas de iluminación y mapas de entorno para agregar iluminación a una escena mientras se usan mapas de textura.

La iluminación se calcula en el espacio de la cámara. Consulte Transformaciones de espacio de cámara. La iluminación optimizada se puede calcular en el espacio del modelo, cuando existen condiciones especiales: los vectores normales ya están normalizados, la mezcla de vértices no es necesaria y las matrices de transformación son ortogonales.

Todos los cálculos de iluminación se realizan en el espacio del modelo mediante la transformación de la posición y la dirección de la fuente de luz, junto con la posición de la cámara, para modelar el espacio utilizando el inverso de la matriz mundial. Como resultado, si las matrices de mundo o vista presentan un escalado no uniforme, la iluminación resultante podría ser inexacta.

En esta sección

Tema Descripción

Luz ambiente

La iluminación ambiental proporciona iluminación constante para una escena. Ilumina todos los vértices de objeto igual porque no depende de ningún otro factor de iluminación, como los normales de vértice, la dirección de la luz, la posición de la luz, el rango o la atenuación. La iluminación ambiente es constante en todas las direcciones y colorea todos los píxeles de un objeto igual. Es rápido calcular pero deja objetos con aspecto plano y poco realista.

Luz difusa

La iluminación difusa depende de la dirección de la luz y de la superficie del objeto normal. La iluminación difusa varía en toda la superficie de un objeto como resultado del cambio de dirección de la luz y del vector numérico de superficie cambiante. Se tarda más tiempo en calcular la iluminación difusa porque cambia para cada vértice de objeto, pero la ventaja de usarla es que sombrea objetos y les proporciona profundidad tridimensional (3D).

Luz especular

La iluminación especular identifica los resaltados especulares brillantes que se producen cuando la luz alcanza una superficie de objeto y se refleja hacia la cámara. La iluminación especular es más intensa que la luz difusa y cae más rápidamente en la superficie del objeto. Se tarda más tiempo en calcular la iluminación especular que la iluminación difusa, pero la ventaja de usarlo es que agrega detalles significativos a una superficie.

Luz de emisión

La iluminación emisiva es la luz emitida por un objeto; por ejemplo, un resplandor. La emisión hace que un objeto representado parezca ser autoluminoso. La emisión afecta al color de un objeto y puede, por ejemplo, hacer que un material oscuro sea más brillante y tomar parte del color emitido.

Transformaciones del espacio de cámara

Los vértices del espacio de la cámara se calculan mediante la transformación de los vértices de objeto con la matriz de vista global.

Atenuación y factor de foco de luz

Los componentes de iluminación difusa y especular de la ecuación de iluminación global contienen términos que describen la atenuación de la luz y el cono de foco.

 

Luces y materiales