Techniques modernes de rendu des ombres?

16

Quel est l'état de l'art en termes de rendu des ombres? Mon objectif est OpenGL 3.2, en utilisant un pipeline de rendu différé, si cela est important.

Cela fait des années que je ne me suis pas intéressé au rendu des ombres, et à cette époque, de nombreuses techniques étaient disponibles, des pochoirs aux différentes méthodes de mappage d'ombres. À cette époque, le rendu des ombres nécessitait des passes de rendu distinctes, contrôlées par le processeur. Mais récemment, j'ai vu une démo où une scène était entièrement rendue sur le GPU, y compris les ombres. Je n'ai aucune idée de la façon dont cela aurait été accompli, ou si c'est même une chose raisonnable à faire (au-delà d'une démonstration technologique).

Compte tenu de la grande quantité d'informations anciennes sur Internet, j'aimerais savoir quelles méthodes les gens utilisent de nos jours, et combien peuvent être transmises au GPU (en supposant que ma version cible d'OpenGL le supporte).

Nairou
la source
1
Jusqu'à ce que RoyT puisse venir ici pour offrir un avis d'expert, je laisserai simplement ce lien à son blog. roy-t.nl/index.php/2013/04/12/…
Seth Battin

Réponses:

10

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ donne un bon aperçu des bases. http://en.wikipedia.org/wiki/Shadow_mapping renvoie à une multitude de documents de recherche décrivant différentes améliorations et optimisations.

Les volumes fantômes ont été «la chose» il y a quelques années. http://en.wikipedia.org/wiki/Shadow_volume décrit bien la technique.

Récemment, des approches basées sur le traçage de rayons et le traçage de chemin ont été utilisées pour la foudre / l'observation (qui existaient auparavant, mais pas le matériel pour les utiliser). Cependant, les optimisations utilisées (par exemple le rendu monte carlo avec des itérations limitées) ont tendance à générer du bruit / des artefacts sur le mouvement de la caméra (pour un exemple de l'effet, voir par exemple http://www.youtube.com/watch?v=FJLy- ci-RyY ).

Exilyth
la source