Aunque no sabía sobre el trazado del camino de Monte Carlo cuando escribí esto, accidentalmente lo describí. Irónicamente, el trazado de ruta de Monte Carlo es la respuesta que estaba buscando en ese momento.
El trazado de ruta ingenuo de monte carlo funciona evaluando algo llamado ecuación de representación para resolver numéricamente el valor de color de un píxel. Toma muestras aleatorias al fluctuar aleatoriamente dentro de un píxel (hay mejores estrategias de muestreo y filtrado: ¿Cuál es el razonamiento fundamental para el suavizado usando múltiples muestras aleatorias dentro de un píxel? ) Y también rebotando en direcciones aleatorias cuando un rayo golpea una superficie .
Puede tomar muchas muestras para obtener buenos resultados, y con no suficientes muestras, su imagen se verá ruidosa. Se necesitan 4 veces más muestras para reducir el ruido a la mitad. Los tiempos de procesamiento pueden ser del orden de una hora usando 8 núcleos de CPU modernos para una escena simple.
Existen técnicas de trazado de ruta de Monte Carlo más avanzadas que le permiten obtener mejores imágenes más rápidamente, como el muestreo de importancia o la eliminación de ruido de la imagen después de que se renderiza.
El trazado de ruta de Monte Carlo puede crear imágenes fotorrealistas y le ofrece muchas funciones de representación avanzadas simplemente porque sigue las leyes físicas, por lo que ofrece resultados realistas.
Puede leer más sobre esto aquí:
http://blog.demofox.org/2016/09/21/path-tracing-getting-started-with-diffuse-and-emissive/
Aquí hay una imagen de ejemplo, que tardó aproximadamente una hora en renderizar usando los 8 núcleos de mi CPU: