En el desarrollo de 'Around The World', un juego centrado en la exploración marítima, Thomas ten Cate ha estado perfeccionando la fidelidad visual del cielo y las nubes. Un desafío principal consistió en simular cómo interactúa la luz con las nubes. Utilizando una tabla de búsqueda (LUT) del renderizador Povray, ten Cate descubrió inicialmente que las nubes carecían del brillo adecuado en su base. Sospechó que Povray no simulaba la dispersión múltiple —donde la luz rebota entre las partículas varias veces— y confirmó esto escribiendo un trazador de rayos Monte Carlo recursivo multihilo personalizado en Rust. Los nuevos datos mostraron que, con la dispersión múltiple, la luz se distribuye de manera más uniforme, eliminando un aspecto 'metálico' y haciendo que las bases de las nubes parezcan significativamente más brillantes y suaves.

Esta imagen ilustra el desafío inicial donde las nubes carecían del brillo adecuado y tenían un aspecto 'metálico' debido a la falta de simulación de dispersión múltiple.

Esta imagen demuestra la mejora tras implementar un trazador de rayos Monte Carlo recursivo multihilo personalizado para simular la dispersión múltiple.
Para lograr una coloración realista, ten Cate abordó cómo las nubes reciben luz indirecta del cielo circundante. En el motor de juegos Godot, la luz indirecta se suele muestrear a partir de mapas cúbicos de entorno basados en la normal de una superficie. Sin embargo, para las nubes, una normal apuntando hacia abajo (hacia el suelo) resulta en poca luz indirecta en la base. Al ajustar las normales para que apunten hacia arriba, hacia el cielo, las nubes comenzaron a adoptar un tono azulado de la atmósfera. Esto también mejoró el renderizado del atardecer; al mezclar la luz solar directa roja con la luz del cielo indirecta azul, las nubes lograron un tono rosado que refleja con mayor precisión las condiciones atmosféricas del mundo real.
También se emplearon varios 'trucos' técnicos para corregir artefactos de renderizado. Para solucionar un horizonte amarillento poco natural causado por el orden de las operaciones en el raymarching (donde la dispersión hacia afuera se aplicaba antes que la dispersión hacia adentro), ten Cate invirtió la secuencia para reducir la atenuación excesiva. Además, debido a que el planeta del juego es 75 veces más pequeño que la Tierra, el horizonte se curva de forma más pronunciada, lo que causaba que el shader del cielo creara una banda oscura donde la densidad de la atmósfera parecía aumentar hacia el centro del planeta. Corrigió esto añadiendo un pequeño valor al componente vertical del vector de vista global antes de renormalizarlo, 'tirando' efectivamente del cielo hacia abajo para alinearlo con el horizonte físico. Finalmente, implementó un mapeador de tonos Filmic con un punto blanco de 2.0 para gestionar los valores de alto rango dinámico (HDR), asegurando que las nubes se desvanezcan suavemente en la distancia sin saturarse en exceso.

Esta imagen representa el artefacto de renderizado causado por aplicar la dispersión hacia afuera antes que la dispersión hacia adentro en la secuencia de raymarching.

Esta imagen muestra la corrección del artefacto del horizonte amarillo mediante el ajuste del orden de las operaciones en el raymarching.

Esta imagen ilustra los problemas de alto rango dinámico antes de que se utilizara el mapeador de tonos Filmic para gestionar los valores HDR.

Esta imagen demuestra el resultado final del mapeador de tonos Filmic, asegurando que las nubes se desvanezcan suavemente sin saturarse.