Comentario original:

Ya me parecia raro raytracing en moviles… No es para la IG de 3 rebotes en tiempo real como svogi, entonces. Con indirecta quieres decir 2 rebotes? Hay mas diferencias?

Me lo lei el otro dia y no recuerdo si mencionas el cone tracing propuedto por sony. La típica optimizacion de bajar el coste computacional con la lejanía de la camara.

Si, la iluminación indirecta es la de dos rebotes, tan simple como esto.

shad2-globalillum3

En cuanto a lo del Cone Tracing es curioso, pero digamos que el concepto es tratar la dispersión de la fuente de luz desde el origen como si fuese un cono, no podemos olvidar que esto es rasterización y por tanto no hay recorrido del fotón pixel por pixel. Por lo que en el Sparse Cone Tracing (con y sin Octrees) los rayos de luz que rebotan sobre la superficie lo hacen de la siguiene manera:

voxel-4_2

Dentro del mapa de voxeles la dispersión se representaría de la siguiente manera:

coneTraceSampleLoc

Octree2

 

Perdón por no comentarlo antes pero pensaba que era exceso de información en este caso, dado que la luz se dispersa en forma de cono también podemos representar la expansión de la misma como si se tratase de un arbol y en este caso entrarían los Octree para informar sobre la dispersión de cada una de las fuentes de luz y por tanto desde donde empieza la base del cono de la fuente de luz, hacía que dirección se dispersa y cual es su grado de obertura. Recordad que este proceso es prevío al de la rasterización y por tanto previo a la proyección de la escena en el espacio 3D y de la texturización pero sirve para almacenar la trayectoría de la luz de manera lo suficientemente efectiva como para aplicar iluminación de tres rebotes y por tanto iluminación global en una escena renderizada via rasterizado.

Pero lo importante es el transporte de la información, la iluminación de dos rebotes/indirecta bajo rasterización es peor que con el Raytracing por el hecho que la forma de renderizar la escena que tiene el rasterizado esta pensada para conseguir la mayor velocidad posible sacrificando calidad de imagen por lo que en el proceso se pierde información. El ejemplo más claro de ello esta en los mapas de entorno… ¿Os habéis fijado en Fallout 4 como el robot del protagonista tiene una textura de entorno del comedor+cocina? Cuando empecéis el juego seguid al robot fuera de esa habitación y veréis que siempre «refleja» lo mismo… Esto es debido a que los reflejos de la escena no son bien representados en una superficie curva en la rasterización, en cambio no tiene problemas cuando refleja una superficie plana y esto es una limitación que viene de serie con el rasterizado.

Es decir, en condiciones similares en lo que al número de niveles de indirección de la iluminación el Raytracing siempre ganará frente al Rasterizado pero a cambio este último siempr será más rápido y mejor para escenas a tiempo real.