Escuché que la calidad de un rastreador de Monte Carlo (basado en algoritmos de trazado de ruta) es mucho más realista que un motor distribuido (estocástico). Trato de entender por qué, pero solo estoy al principio.
Para profundizar en este tema y comprender los conceptos básicos, ¿alguien puede señalarme en la dirección correcta? ¿Qué parte del algoritmo conduce a un resultado de renderizado más realista?
Respuestas:
El término "trazado de rayos distribuidos" fue originalmente acuñado por Robert Cook en este artículo de 1984. Su observación fue que para realizar el suavizado en un trazador de rayos, el renderizador debe realizar un muestreo espacial superior, es decir, tomar más muestras (es decir, disparar más rayos) que la cantidad de píxeles en la imagen y combinar sus resultados . Una forma de hacerlo es disparar múltiples rayos dentro de un píxel y promediar sus valores de color, por ejemplo. Sin embargo, si el renderizador ya está trazando múltiples rayos por píxel de todos modos para obtener una imagen suavizada, entonces estos rayos también se pueden "distribuir" entre dimensiones adicionales además de la posición del píxel para muestrear efectos que no podrían ser capturados por un solo rayo . Lo importante es que esto viene sin ningún costo adicional además del muestreo espacial superior, ya que de todos modos ya está trazando esos rayos adicionales. Por ejemplo,
El trazado de rayos de Monte Carlo es un término que es ligeramente ambiguo. En la mayoría de los casos, se refiere a técnicas de representación que resuelven la ecuación de representación, introducido por Jim Kajiya en 1986, utilizando la integración de Monte Carlo. Prácticamente todas las técnicas modernas de representación que resuelven la ecuación de representación, como el trazado de ruta, el trazado de ruta bidireccional, el mapeo progresivo de fotones y el VCM, se pueden clasificar como técnicas de trazado de rayos de Monte Carlo. La idea de la integración de Monte Carlo es que podemos calcular la integral de cualquier función eligiendo aleatoriamente puntos en el dominio de integración y promediando el valor de la función en estos puntos. En un nivel alto, en el trazado de rayos de Monte Carlo podemos usar esta técnica para integrar la cantidad de luz que llega a la cámara dentro de un píxel para calcular el valor del píxel. Por ejemplo, un trazado de ruta hace esto seleccionando aleatoriamente un punto dentro del píxel para disparar el primer rayo, y luego continúa eligiendo aleatoriamente una dirección para continuar en la superficie en la que aterriza, Etcétera. También podríamos elegir aleatoriamente una posición en el eje de tiempo si queremos hacer un desenfoque de movimiento, o elegir aleatoriamente un punto en la apertura si queremos hacer la profundidad de campo, o ...
Si esto suena muy similar al trazado de rayos distribuido, ¡es porque lo es! Podemos pensar en el trazado de rayos distribuidos como una descripción muy informal de un algoritmo de Monte Carlo que muestrea ciertos efectos como sombras suaves. El documento de Cook carece del marco matemático para razonar realmente sobre esto correctamente, pero ciertamente podría implementar el trazado de rayos distribuidos utilizando un simple renderizador de Monte Carlo. Vale la pena señalar que el trazado de rayos distribuidos carece de una descripción de los efectos de iluminación global, que se modelan naturalmente en la ecuación de representación (debe mencionarse que el artículo de Kajiya se publicó dos años después del artículo de Cook).
Puede pensar en el trazado de rayos de Monte Carlo como una versión más general del trazado de rayos distribuido. El trazado de rayos de Monte Carlo contiene un marco matemático general que le permite manejar prácticamente cualquier efecto, incluidos los mencionados en el documento de trazado de rayos distribuido.
En estos días, "trazado de rayos distribuidos" no es realmente un término que se utiliza para referirse al algoritmo original. Con mayor frecuencia lo escuchará junto con los "efectos de distribución", que son simplemente efectos como desenfoque de movimiento, profundidad de campo o sombras suaves que no se pueden manejar con un trazador de rayos de muestra única.
fuente
En el trazado de rayos distribuido , usted toma muestras estocásticamente de muchos rayos en direcciones que el BRDF puede preferir o no . Mientras que, en el trazado de rayos de Monte Carlo o simplemente en el trazado de ruta, se muestrea solo un rayo en una dirección preferida por el BRDF . Por lo tanto, hay dos ventajas obvias que tendría el trazado de ruta:
Y así, el trazado de ruta le dará mejores resultados.
fuente