Hola
Después de una semana un poco movida sin haber podido postear por falta de tiempo, hoy vengo para explicar la evolución de la ecuación de Phong en nuestros engines.
La ecuación de Phong es muy simple, básicamente es una suma de tres componentes:
Resultado = Ambiente + Diffusa + Specular
¿Dónde está el problema? El problema reside en que esa es la forma más simple de calcular la iluminación en un píxel, y a medida que vamos añadiendo ‘capacidades’ a la ecuación, esta va evolucionando para dar como resultado algo nada intuitivo.
Actualmente me encuentro haciendo la ecuación de la nueva versión del engine y os puedo comentar varias cosas:
- En esta ecuación no se representa en ningún momento alguna componente de auto iluminación, por lo tanto, ya tenemos una componente que en esa ecuación no está reflejada.
- En la ecuación de iluminación del Half-Life 2, la Ambiente y la Diffusa no se suman, sino que se operan entre sí para formar una componente Diffusa nueva a la cual se le sumara la componente Specular.
- La ecuación de Phong con una sola luz nos proporciona oscuridad casi absoluta en esas caras o píxeles que no estén mirando a la luz, cargándose por completo la sensación de iluminación global de la escena. Por lo tanto a veces se opta por poner un 30% de Ambiente y un 70% de Diffusa para que los píxeles no tiendan a negro absoluto.
- En ningún momento hemos hablado de la componente de lightmap, por lo tanto ya tenemos otra componente oculta y que deberemos tratar para obtener buenos resultados.
- Etc.
Como podéis observar, la ecuación de Phong está bien para empezar, pero poco a poco vamos añadiendo mas información necesaria y nos da como resultado una ecuación que distaba mucho de la teoría.
Este podría ser un ejemplo:
Resultado = ((Ambiente <-> Diffusa) * LightMap) + Specular + Self-Ilumination
Un saludo