# Materiales e Iluminación Semestre 02, 2026 ## Objetivo - Entender qué aporta la luz a una escena y por qué sin ella no hay imagen. - Distinguir la componente difusa de la componente especular y saber de qué depende cada una. - Conocer el albedo como el color propio de un material, independiente de la luz. - Armar el modelo de iluminación de Phong a partir de sus tres componentes. - Separar la geometría de un objeto de su material y entender qué decide cada uno. - Comprender el z-buffer como la estructura que resuelve la visibilidad por píxel. ## La luz en una escena La luz es lo que hace visible a un objeto. Sin una fuente que la emita, un raytracer devuelve una imagen negra, porque el color de un punto no es más que la luz que ese punto manda hacia la cámara. ![La luz define colores, sombras, reflejos y el ambiente de la imagen](/courses/2026/2/cc2018/assets/luz.png) La luz define mucho más que el brillo. Define los colores que percibimos, la forma en que se leen las sombras, los reflejos sobre las superficies y el ambiente general de la escena. Cambiar la luz de una escena, sin tocar ni un objeto, cambia por completo la imagen resultante. ### Tipos principales de luz Una escena se ilumina con fuentes, y cada tipo de fuente se comporta distinto. - Luz direccional: representa una fuente muy lejana, como el sol. Sus rayos llegan en paralelo a toda la escena y no se atenúan con la distancia. Un amanecer es el ejemplo típico, porque todo recibe luz desde el mismo ángulo. - Luz puntual: se comporta como una bombilla o una vela. Emerge de un punto del espacio y se propaga en todas las direcciones, así que su intensidad disminuye conforme el objeto se aleja. La diferencia práctica está en cómo se calcula la dirección hacia la luz. En una luz direccional esa dirección es la misma para todos los puntos de la escena, mientras que en una luz puntual hay que calcularla punto por punto. ### Propiedades de la luz Toda fuente lleva dos propiedades que entran directo en la ecuación de iluminación. - Color: el tono de la luz, que puede ser cálido y amarillento o frío y azulado. - Intensidad: qué tan fuerte ilumina, y funciona como un factor multiplicador. Estas dos propiedades no actúan solas, sino que se combinan con el material del objeto para producir el color final del punto. ## Los tres vectores del sombreado Para calcular la iluminación en un punto de intersección hacen falta tres vectores, todos normalizados y todos con origen en ese mismo punto. - Normal $\mathbf{N}$: hacia dónde mira la superficie en ese punto. - Dirección de la luz $\mathbf{L}$: hacia dónde está la fuente desde el punto de impacto. - Dirección de la cámara $\mathbf{V}$: hacia dónde está el observador desde el punto de impacto. ![La normal, la dirección de la luz y la dirección hacia la cámara en el punto de impacto](/courses/2026/2/cc2018/assets/shadow3.png) Con estos tres vectores se responde todo. El ángulo entre $\mathbf{N}$ y $\mathbf{L}$ dice cuánta luz recibe el punto, y el ángulo entre el rayo reflejado y $\mathbf{V}$ dice si el observador está viendo un brillo. ### La normal Una normal es un vector perpendicular a la superficie en un punto. Define cómo se orienta esa superficie respecto a la luz, a la cámara y al resto de los objetos. ![La normal es perpendicular a la superficie en el punto](/courses/2026/2/cc2018/assets/normal.png) La normal es la que determina cómo incide la luz sobre el objeto, y por eso aparece en los tres cálculos que nos interesan. - Sombras, porque dice si la superficie mira hacia la luz o le da la espalda. - Brillos especulares, porque de ella sale la dirección en la que rebota la luz. - Iluminación difusa, porque el ángulo que forma con la luz decide qué tan iluminado se ve el punto. Una normal siempre cumple dos condiciones. Es perpendicular a la superficie local, y tiene longitud uno, porque se normaliza antes de usarla. Si no estuviera normalizada, su magnitud contaminaría todos los productos punto del modelo de iluminación. ## Luz difusa La luz difusa representa la forma en que la luz se dispersa uniformemente en todas las direcciones después de chocar contra una superficie rugosa o mate. ![La luz incidente se dispersa en todas las direcciones sobre una superficie mate](/courses/2026/2/cc2018/assets/difuse.png) Su intensidad depende únicamente del ángulo entre la luz y la normal de la superficie, no de dónde esté parado el observador. Una pared pintada se ve igual de iluminada sin importar desde qué lado la mires, y eso es exactamente el comportamiento difuso. Este comportamiento se describe con la ley de Lambert. La intensidad es máxima cuando la luz incide perpendicular a la superficie, y va cayendo conforme el ángulo se abre, hasta desaparecer cuando la luz llega rasante. ## Luz especular La luz especular representa la luz que se refleja de forma concentrada en una dirección específica, típica de superficies lisas o pulidas. Es lo que percibimos como reflejo o brillo. A diferencia de la difusa, la intensidad especular sí depende de la posición del observador. El brillo aparece solo cuando la cámara está cerca de la dirección en la que la luz rebotó, así que al mover la cámara el brillo se desplaza sobre el objeto. La combinación de las dos componentes es la que genera realismo. La difusa da el volumen y el color del objeto, mientras que la especular agrega el punto de brillo que delata de qué está hecha la superficie. | | Difusa | Especular | |---|---|---| | Superficie | Rugosa o mate | Lisa o pulida | | Dispersión | En todas las direcciones | Concentrada en una dirección | | Depende de la normal | Sí | Sí | | Depende de la cámara | No | Sí | | Aporta | Volumen y color base | Brillo y reflejo | | Ejemplo | Papel, pared, tela | Metal, plástico, vidrio | ## Albedo El albedo es una propiedad del material que define su color base o intrínseco, independiente de la luz que lo ilumine. Es la fracción de luz que ese material refleja de manera difusa. ![El albedo es el color propio de la superficie](/courses/2026/2/cc2018/assets/albedo.png) El albedo no depende de la dirección de la luz ni de la posición de la cámara, sino solo del propio material, y se expresa comúnmente como un color RGB. Una esfera roja tiene un albedo rojo, y una hoja verde tiene un albedo verde, sin importar bajo qué luz se les mire. Al aplicar un modelo de iluminación, el albedo se combina con la luz que llega al punto. $$ Color_{final} = Albedo \times Luz $$ ![La misma geometría con distintos albedos](/courses/2026/2/cc2018/assets/albedo2.png) Esa multiplicación explica un comportamiento que parece raro pero es físicamente correcto. Si el albedo es rojo y la luz es blanca, el objeto se ve rojo brillante, porque la luz blanca trae todas las longitudes de onda y el material refleja la roja. Si el albedo es rojo y la luz es azul, el objeto se ve oscuro, porque apenas hay componente roja que reflejar. Un material solo puede devolver luz que efectivamente recibió. El albedo filtra, nunca inventa. ## El modelo de Phong El modelo de iluminación de Phong es uno de los más usados para simular cómo la luz interactúa con una superficie. Su objetivo es obtener un color creíble combinando varias componentes de luz en una sola suma. $$ I = I_a + I_d + I_s $$ - $I$ es la intensidad total de luz en el punto. - $I_a$ es la componente ambiente. - $I_d$ es la componente difusa. - $I_s$ es la componente especular. Cada componente modela un fenómeno distinto, y las tres se suman porque la luz que sale de un punto es la acumulación de todas las formas en que ese punto responde a la iluminación. ### Componente ambiente La componente ambiente representa la iluminación mínima de la escena. Simula toda la luz indirecta que rebota por el ambiente, esa que llega a un punto sin venir directamente de una fuente. $$ I_a = k_a I_{amb} $$ - $k_a$ es el coeficiente ambiental del material. - $I_{amb}$ es la intensidad de la luz ambiente de la escena. Sin esta componente las superficies en sombra quedarían completamente negras, que es algo que no ocurre en el mundo real. Es un truco barato para aproximar la iluminación global sin trazar los millones de rebotes que la producen. ### Componente difusa La componente difusa depende del ángulo entre la luz y la normal de la superficie, siguiendo la ley de Lambert. $$ I_d = k_d (\mathbf{L} \cdot \mathbf{N}) I_{luz} $$ - $k_d$ es el coeficiente difuso, que es el color base o albedo del material. - $\mathbf{L}$ es el vector unitario hacia la luz. - $\mathbf{N}$ es la normal de la superficie. - $\mathbf{L} \cdot \mathbf{N}$ es el producto punto, que mide el coseno del ángulo entre ambos. El producto punto hace todo el trabajo. Con los dos vectores normalizados, vale uno cuando la luz cae perpendicular a la superficie y va bajando hacia cero conforme el ángulo se abre. Si $\mathbf{L} \cdot \mathbf{N}$ resulta negativo, la luz está del otro lado de la superficie y no la alcanza, así que el punto queda en sombra y la componente difusa se descarta. ### Componente especular La componente especular simula el brillo o reflejo sobre la superficie, y es la única de las tres que depende de dónde está el observador. $$ I_s = k_s (\mathbf{R} \cdot \mathbf{V})^n I_{luz} $$ - $k_s$ es el coeficiente especular del material. - $\mathbf{R}$ es el vector de reflexión de la luz respecto a la normal. - $\mathbf{V}$ es el vector hacia el observador. - $n$ es el exponente de brillo, también llamado shininess. El brillo aparece cuando la dirección de reflexión coincide con la dirección de la cámara, y se apaga conforme esas dos direcciones se separan. El exponente $n$ controla qué tan cerrado es ese brillo. - Un $n$ bajo produce un brillo ancho y suave, propio de una superficie mate. - Un $n$ alto produce un reflejo pequeño y concentrado, propio del plástico o el metal. Ajustar $n$ es la manera más directa de cambiar la sensación de material de un objeto sin tocar su geometría ni su color. ## Objetos y materiales En un raytracer, los objetos y los materiales definen dos cosas distintas. Los objetos definen qué forma tiene el mundo, y los materiales definen cómo responde ese mundo a la luz. Para resolver un píxel hacen falta ambos factores. - Geometría: esferas, planos y triángulos. Es lo que permite responder si un rayo toca el objeto y a qué distancia. - Material: define cómo se comporta la luz al llegar, si se dispersa de forma difusa, si produce un brillo especular o si atraviesa la superficie de forma translúcida. ![La misma geometría cambia por completo según el material asignado](/courses/2026/2/cc2018/assets/materials.png) La separación tiene una consecuencia práctica muy conveniente. La misma esfera puede verse como goma, como plástico pulido o como metal sin cambiar una sola línea de su geometría, porque lo único que cambia son los coeficientes del material. Un material típico guarda el albedo junto con los coeficientes $k_a$, $k_d$, $k_s$ y el exponente $n$ que el modelo de Phong necesita. Eso es todo lo que el sombreador consulta cuando un rayo golpea la superficie. ## Z-buffer El z-buffer es una estructura de datos usada en renderizado 3D para determinar qué objetos, o qué partes de un objeto, son visibles en la escena. Almacena información de profundidad para cada píxel, es decir la distancia desde la cámara hasta lo que se dibujó ahí. Cuando dos objetos se superponen en la imagen, gana el que tiene menor valor de profundidad, porque es el que está más cerca del observador. Sin esta estructura, el color de un píxel sería simplemente el del último objeto dibujado, y el orden en que se recorre la escena decidiría qué se ve. El z-buffer quita esa dependencia del orden. ### Implementación El algoritmo trabaja en tres momentos. 1. Inicialización. Antes de renderizar, el z-buffer se llena con el valor máximo de profundidad, que conceptualmente es infinito. Así cualquier objeto que aparezca queda más cerca que el estado inicial. 2. Render. Por cada píxel que un objeto quiere pintar se repite la misma comparación. - Calcular el valor de profundidad, que es la distancia a la cámara. - Comparar contra el valor ya almacenado en el z-buffer. - Si el nuevo está más cerca, se actualizan tanto el color como la profundidad. - Si está más lejos, el fragmento se descarta sin dibujarse. 3. Resultado. Solo quedan pintados los píxeles visibles, y esa selección por profundidad es la que produce la ilusión óptica de que unos objetos están delante de otros. ### Limitaciones El z-buffer resuelve la visibilidad de forma simple, pero tiene un costo. - Z-fighting. Cuando dos superficies están casi en el mismo plano, sus profundidades caen dentro del mismo valor representable y el buffer no puede decidir cuál va adelante. El resultado es un parpadeo de manchas entre las dos superficies. - Uso de memoria. Hace falta un valor de profundidad por cada píxel de la pantalla, así que el buffer ocupa tanto como el propio framebuffer. - Costo por píxel. Cada fragmento candidato obliga a leer, comparar y a veces escribir en el buffer, y eso ocurre millones de veces por frame. ### El z-buffer y el ray tracing En un rasterizador el z-buffer es imprescindible, porque los triángulos se dibujan en un orden arbitrario y hay que resolver la visibilidad después del hecho. En un raytracer el problema se resuelve antes. Cada rayo prueba todos los objetos y se queda con el impacto de menor distancia, así que el objeto visible ya viene decidido por la propia búsqueda de intersección y no hace falta una estructura aparte. Es el mismo criterio en los dos casos, que es quedarse con lo más cercano a la cámara. Lo que cambia es el momento en que se aplica, ya sea al comparar profundidades de fragmentos ya generados, o al comparar distancias sobre un rayo antes de sombrear. ## En el proyecto de gráficas Esta lección conecta las piezas que ya construimos con la imagen final. - El raytracer ya sabe qué objeto se ve en cada píxel, y ahora sabe además de qué color se ve. - La normal en el punto de impacto deja de ser un dato geométrico y pasa a ser la entrada del sombreado. - El material convierte una lista de esferas y planos en una escena con superficies distinguibles entre sí. - El z-buffer queda como referencia para cuando lleguemos al pipeline de rasterización, donde sí será necesario.