Ray Tracing versus renderizado basado en objetos?

19

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?

Suresh
fuente
Tal vez el trazado de rayos es un trato hecho.
Dave Clarke
Creo que el título de la pregunta necesita edición, Raytracing es un renderizador basado en píxeles, tal vez debería reformularse como 'Raytracing vs renderizado basado en objetos' o 'Raytracing vs Rasterization'
aaecheve
Modificaré el título.
Suresh
@DaveClarke: ¿No estás seguro de lo que eso significa?
Suresh
No más investigaciones que hacer, debería evitar la jerga.
Dave Clarke

Respuestas:

11

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:

  • El trazado de rayos es lento, especialmente si desea implementar los efectos más realistas que lo distinguen de la rasterización (por ejemplo, refracción, reflexión, desenfoque de movimiento, sombras suaves) porque esto implica crear muchos más rayos por píxel.
  • La mayoría de la gente no puede distinguir la diferencia entre los efectos reales y los falsos, lo cual creo que es el punto clave. El objetivo de un algoritmo de renderizado práctico es crear una representación fotorrealista de una escena de la manera más eficiente, y en este momento la rasterización, aunque utiliza muchos hacks, lo logra muy bien.
  • Hay muchas otras limitaciones prácticas de Raytracing en comparación con un renderizador de Rasterización: pobre mapeo de suavizado y desplazamiento, instancias limitadas, etc.

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) .

aaecheve
fuente
8

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.

John Percival Hackworth
fuente
Tenga en cuenta que una de las formas más comunes de hacer radiosidad (en particular, de manejar cualquier aspecto especular de la radiosidad y las funciones generales de radiación) implica el trazado de rayos. De hecho, el trazado de rayos y la radiosidad son ambas aproximaciones a la ecuación de representación.
Steven Stadnicki
Eso es cierto. Un enfoque de radiosidad básica (¿cómo es eso para un oxímoron?) Necesita algo como el trazado de rayos para especularidad y reflexión.
John Percival Hackworth
4

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:

  • La investigación de Daniel Pohl y otros en el grupo Intel Advanced Render
  • El motor Optix de Nvidia
  • SIGGRAPH el año pasado incluyó un par de cursos sobre síntesis de imágenes de Monte Carlo, así como un debate sobre las últimas técnicas de estimación de densidad de fotones.

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.

Jason
fuente