2009-07-31 9 views
4

J'ai actuellement une configuration de système de rendu différé et peut rendre des lumières de point et des lumières directionnelles. Ma question est quelles sont mes options pour différentes formes d'ombrage qui peuvent faire des ombres basées sur des lumières ponctuelles et des lumières directionnelles qui peuvent peut-être utiliser une configuration d'ombrage différée?Ombres dynamiques en temps réel pour compléter l'ombrage différé?

Répondre

7

Il n'y a rien de spécial à propos du rendu différé qui nécessite des techniques d'ombrage uniques. La plupart des approches standard pour produire des ombres fonctionnent parfaitement avec les schémas de rendu différés.

Le mappage d'ombre est l'algorithme d'ombrage le plus couramment utilisé aujourd'hui dans les applications en temps réel telles que les jeux. Les ombres au pochoir étaient populaires il y a quelques années mais sont tombées en disgrâce en raison de diverses limitations. Le mappage d'ombre fonctionne correctement avec l'ombrage différé. L'algorithme de base pour la cartographie de l'ombre est assez simple:

  1. profondeur Render à une texture cible de rendu du point de vue de la lumière (vous avez besoin de rendre 6 faces d'une carte de cube pour une lumière ponctuelle).
  2. Lorsque vous effectuez la passe d'éclairage de la lumière, pour chaque pixel, transformez la position de l'espace du monde en espace de vue de la lumière et comparez la profondeur à la profondeur stockée dans la carte ombrée. Si elle est supérieure à la profondeur de la carte d'ombre alors le point est dans l'ombre, sinon l'allumer normalement.

Comme d'habitude avec le rendu, le diable est dans les détails. Pour obtenir des ombres de bonne qualité, vous devez configurer avec soin la projection de votre ombre pour optimiser l'utilisation des pixels disponibles dans la carte d'ombre (recherche de cartes d'ombre en perspective, de cartes d'ombre en cascade). En raison de problèmes de précision, vous obtiendrez divers artefacts avec des surfaces d'ombrage (l'acné cachée est la plus fréquente) et il existe différentes stratégies pour réduire l'incidence de ces artefacts (biais de profondeur, modifications de la matrice de projection). Afin de réduire l'aspect pixélisé et pixellisé des cartes ombrées avec une résolution insuffisante, vous souhaiterez probablement effectuer un filtrage de type carte miroir. Pourcentage Closer Filtering est l'approche standard et il existe plusieurs façons de procéder à l'exécution de PCF. Vous avez également à faire face au compromis qualité/performance standard avec les ombres et l'ombrage dynamique qui tend à être l'un des aspects les plus coûteux du rendu de scène. Il existe de nombreuses astuces et techniques pour tenter de maximiser les performances de la cartographie de l'ombre. Récemment, il y a eu un certain nombre de variations sur l'algorithme de base de mappage des ombres qui tentent de donner de meilleurs résultats pour une résolution de mappage d'ombre donnée en abordant différemment le problème de filtrage. Variance Les cartes des ombres et les cartes des ombres exponentielles sont deux techniques récentes qui ont quelques avantages intéressants mais quelques problèmes uniques.

Le developer site de Nvidia est une bonne ressource pour la programmation graphique en général et contient de nombreux articles sur l'observation. Jetez un oeil aux versions HTML des livres GPU Gems disponibles sur le site, ils ont également plusieurs articles sur l'observation, y compris l'article définitif sur Variance Shadow Maps dans GPU Gems 3.

Questions connexes