Los cursos de introducción de gráficos generalmente tienen un proyecto que le pide que cree un trazador de rayos para representar una escena. Muchos estudiantes de gráficos que ingresan a la escuela de posgrado dicen que quieren trabajar en el trazado de rayos. Y, sin embargo, parece que el trazado de rayos es un campo muerto en lugares como SIGGRAPH, etc.
¿El trazado de rayos es realmente la mejor manera de representar una escena con precisión con toda la iluminación deseada, etc., y es solo el rendimiento lento (lectura no interactiva) de los trazadores de rayos lo que los hace poco interesantes o hay algo más?
Respuestas:
Raytracing es un algoritmo muy agradable e intuitivo, y es una forma más realista físicamente de describir la iluminación de una escena que la rasterización, pero:
Incluso en aplicaciones no interactivas, como películas, Raytracing se usa muy poco debido a sus limitaciones. Pixar solo comenzó a usar Raytracing en Cars, y solo para algunos efectos de reflexión específicos ( Ray Tracing para la película 'Cars' ).
Aquí hay un excelente artículo que describe con más detalle el estado actual de Raytracing y sus ventajas y desventajas: State of Ray Tracing (en juegos) .
fuente
El trazado de rayos básico tiene un problema importante relacionado con la luz ambiental. La mayoría de los modelos de iluminación tratan la luz ambiental como un factor constante que impregna el éter. Si bien el trazado de rayos es excelente para calcular reflexiones, adolece de inestabilidad numérica y complicadas pruebas de intersección de superficie. El trazado de rayos puede no funcionar bien con el renderizado acelerado por hardware, ya que la recursión juega un papel importante en la determinación de la iluminación para cualquier píxel en particular. El trazado de rayos básico es computacionalmente muy costoso.
La radiosidad maneja mejor la luz ambiental ya que trata todos los objetos del entorno como fuentes de luz, produciendo un modelo de iluminación que es de alguna manera más realista que el trazado de rayos. Con una solución de radiosidad hay un número fijo de polígonos en una escena, y el cálculo es susceptible de aceleración por hardware.
En última instancia, el trazado de rayos no es la mejor manera de renderizar una escena, pero es un componente de una buena estrategia de renderizado. El costo computacional de alto costo y la iluminación ambiental deficiente son ataques importantes contra el trazado de rayos. Como tema de investigación, el trabajo está en curso , pero parece centrarse en la aceleración de hardware.
fuente
No diría que el trazado de rayos / trazado de ruta está muerto ... en todo caso, ha habido un resurgimiento del interés popular en el campo debido al paralelismo inherente de los muchos algoritmos asociados en esta área combinados con la velocidad de Sistemas basados en GPU que permiten calcular millones de rayos por segundo. A eso se agrega la flexibilidad en la canalización de renderización que permiten más lenguajes genéricos como CUDA y OpenCL que permiten a los desarrolladores aprovechar la funcionalidad paralela de la GPU sin tener que usar explícitamente la canalización de gráficos OpenGL como las técnicas iniciales de GPGPU. Algunos ejemplos notables de la corriente principal de la investigación continua de trazado de ruta incluyen:
Finalmente, tiene mucha investigación sobre técnicas de optimización para el problema de la iluminación global, incluida la iluminación global basada en puntos, el mapeo de fotones y optimizaciones relacionadas, el modelado de apariencia avanzado (incluidos los métodos basados en datos), el almacenamiento en caché de irradiancia, etc., etc.
fuente