¿Técnicas modernas de renderizado de sombras?

16

¿Cuál es el estado del arte en términos de renderizado de sombras? Mi objetivo es OpenGL 3.2, usando una canalización de representación diferida, si eso es importante.

Han pasado años desde que examiné el renderizado de sombras, y en ese momento había numerosas técnicas disponibles, desde plantillas hasta los diversos métodos de mapeo de sombras. En ese momento, las sombras de representación requerían pases de representación separados, controlados por la CPU. Pero recientemente vi una demostración en la que se representaba una escena completamente en la GPU, incluidas las sombras. No tengo idea de cómo se habría logrado eso, o si incluso es algo razonable (más allá de una demostración tecnológica).

Dada la gran cantidad de información antigua en Internet, me gustaría saber qué métodos están usando las personas en estos días y cuánto se puede enviar a la GPU (suponiendo que mi versión de OpenGL de destino lo admita).

Nairou
fuente
1
Hasta que RoyT pueda llegar aquí para ofrecer una opinión experta, solo dejaré este enlace a su blog. roy-t.nl/index.php/2013/04/12/…
Seth Battin

Respuestas:

10

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ ofrece una buena descripción de los conceptos básicos. http://en.wikipedia.org/wiki/Shadow_mapping enlaces a una multitud de trabajos de investigación que describen diferentes mejoras y optimizaciones.

Los volúmenes en la sombra han sido 'la cosa' hace unos años. http://en.wikipedia.org/wiki/Shadow_volume describe muy bien la técnica.

Recientemente, los enfoques basados ​​en el trazado de rayos y en el trazado de ruta se han utilizado para los rayos / sombras (que han existido antes, pero no el hardware para utilizarlos). Sin embargo, las optimizaciones utilizadas (por ejemplo, renderizado de Monte Carlo con iteraciones limitadas) tienden a generar ruido / artefactos en el movimiento de la cámara (para ver un ejemplo del efecto, consulte, por ejemplo, http://www.youtube.com/watch?v=FJLy- Ci-RyY ).

Exilyth
fuente