Compartir a través de


Tipos de luz

La propiedad de tipo de luz define qué tipo de fuente de luz está usando. Hay tres tipos de luces en Direct3D: luces puntuales, focos de foco y luces direccionales. Cada tipo ilumina los objetos de una escena de forma diferente, con distintos niveles de sobrecarga computacional.

Luz puntual

Las luces de punto tienen color y posición dentro de una escena, pero ninguna dirección única. Dan luz igualmente en todas las direcciones, como se muestra en la ilustración siguiente.

ilustración de la luz puntual

Una bombilla es un buen ejemplo de una luz puntual. Las luces puntuales se ven afectadas por la atenuación y el rango, e iluminan una malla en una base de vértice por vértice. Durante la iluminación, Direct3D usa la posición de la luz de punto en el espacio mundial y las coordenadas del vértice que se iluminan para derivar un vector para la dirección de la luz y la distancia que ha recorrido la luz. Ambos se utilizan, junto con el vértice normal, para calcular la contribución de la luz a la iluminación de la superficie.

Luz direccional

Las luces direccionales solo tienen color y dirección, no posición. Emiten luz paralela. Esto significa que toda la luz generada por las luces direccionales viaja a través de una escena en la misma dirección. Imagine una luz direccional como una fuente de luz a una distancia cercana infinita, como el sol. Las luces direccionales no se ven afectadas por la atenuación o el rango, por lo que la dirección y el color que especifique son los únicos factores que se tienen en cuenta cuando Direct3D calcula los colores del vértice. Debido al pequeño número de factores de iluminación, estas son las luces menos intensivas computacionalmente que se van a usar.

Foco

Los focos de luz tienen color, posición y dirección en la que emiten luz. La luz emitida a partir de un foco se compone de un cono interno brillante y un cono exterior más grande, con la intensidad de la luz disminuyendo entre los dos, como se muestra en la ilustración siguiente.

ilustración de un foco con un cono interno y un cono externo

Los focos se ven afectados por la caída, la atenuación y el intervalo. Estos factores, así como la distancia que la luz viaja a cada vértice, se ilustran en cuando se calculan efectos de iluminación para objetos de una escena. Calcular estos efectos para cada vértice hace que los elementos destacados consuman más tiempo computacionalmente de todas las luces en Direct3D.

Los valores Falloff, Theta y Phi solo los usan los elementos destacados. Estos valores controlan el tamaño o el tamaño de los conos internos y externos de un objeto de foco, y cómo disminuye la luz entre ellos.

Theta es el ángulo radian del cono interno del foco, y el valor Phi es el ángulo del cono exterior de la luz. La caída controla cómo disminuye la intensidad de la luz entre el borde exterior del cono interno y el borde interno del cono externo. La mayoría de las aplicaciones establecen Falloff en 1.0 para crear una caída que se produce uniformemente entre los dos conos, pero puede establecer otros valores según sea necesario.

En la ilustración siguiente se muestra la relación entre estos valores y cómo pueden afectar a los conos internos y externos de un foco de luz.

ilustración de cómo los valores phi y theta se relacionan con los conos destacados

Los focos emiten un cono de luz que tiene dos partes: un cono interno brillante y un cono exterior. La luz es más brillante en el cono interno y no está presente fuera del cono exterior, con intensidad de luz atenuada entre las dos áreas. Este tipo de atenuación se conoce normalmente como caída.

La cantidad de luz que recibe un vértice se basa en la ubicación del vértice en los conos internos o externos. Direct3D calcula el producto de punto del vector de dirección (L) del foco y el vector desde la luz hasta el vértice (D). Este valor es igual al coseno del ángulo entre los dos vectores y actúa como indicador de la posición del vértice que se puede comparar con los ángulos de cono de la luz para determinar dónde podría estar el vértice en los conos internos o externos. En la ilustración siguiente se proporciona una representación gráfica de la asociación entre estos dos vectores.

ilustración del vector de dirección del foco y el vector del vértice al foco de contenido destacado

El sistema compara este valor con el coseno de los ángulos de cono interno y externo del foco. Los valores Theta y Phi de la luz representan los ángulos totales de cono para los conos internos y externos. Dado que la atenuación se produce a medida que el vértice se aleja del centro de iluminación (en lugar de a través del ángulo total de cono), el tiempo de ejecución divide estos ángulos de cono en la mitad antes de calcular sus cosines.

Si el producto de punto de los vectores L y D es menor o igual que el coseno del ángulo de cono exterior, el vértice se encuentra más allá del cono exterior y no recibe ninguna luz. Si el producto de punto de L y D es mayor que el coseno del ángulo de cono interno, el vértice está dentro del cono interno y recibe la cantidad máxima de luz, teniendo en cuenta la atenuación a lo largo de la distancia. Si el vértice está en algún lugar entre las dos regiones, la caída se calcula con la siguiente ecuación.

fórmula para la intensidad de la luz en el vértice, después de la caída

donde:

  • I f es la intensidad de la luz después de la caída
  • Alpha es el ángulo entre los vectores L y D.
  • Theta es el ángulo de cono interno
  • Phi es el ángulo de cono exterior
  • p es la caída

Esta fórmula genera un valor entre 0,0 y 1,0 que escala la intensidad de la luz en el vértice para tener en cuenta la caída. También se aplica la atenuación como factor de la distancia del vértice desde la luz. En el gráfico siguiente se muestra cómo pueden afectar los diferentes valores de caída a la curva de caída.

gráfico de intensidad de la luz frente a la distancia del vértice desde la luz

El efecto de varios valores de caída en la iluminación real es sutil y se incurre en una pequeña penalización de rendimiento al dar forma a la curva de caída con valores de caída distintos de 1,0. Por estas razones, este valor se establece normalmente en 1.0.

Luces y materiales