Ces renseignements étaient à jour en date de novembre 2019. Plusieurs fonctionnalités pourraient avoir changé ou avoir été mises à jour depuis.
Introduction : VRS
Les sorties en 1080p et en résolutions supérieures ont mené au développement de techniques de rendu qui réduisent la charge d’ombrage des pixels. Ces techniques comprennent les suivantes :- Rendu fovéal en réalité virtuelle
- Rendu en damier
- Suréchantillonnage temporel
- Microsoft : Boost Rendering Performance with Variable Rate Shading
- Microsoft : DirectX: Variable Rate Shading, A Deep Dive
- NVIDIA : Adaptive Shading Overview
Objectifs de conception de VRS
- Des taux d’ombrage sélectionnables localement pour ajuster finement l’équilibre entre la qualité du jeu et les performances :
- Pleine qualité là où c’est nécessaire.
- Demi-taux, soit le même taux que le rendu en damier.
- Quart de taux ou même moins.
- La profondeur, le stencil et la couverture sont toujours à plein taux, avec des contours parfaits.
- VRS s’intègre facilement à un moteur existant en utilisant les mêmes nuanceurs, que VRS soit activé ou non.
- Aucun remplissage de trous, aucune passe ni aucun tampon supplémentaire, et aucune approximation.
- Un rendu cinématographique et doux n’est pas imposé. Des visuels extrêmement nets sont possibles.
- Compatible avec le suréchantillonnage temporel et l’anticrénelage multiéchantillon (MSAA).
Évolutivité locale
VRS peut réduire de façon sélective le taux d’ombrage dans les zones à faible détail de texture. Par exemple :- Les zones floues, comme la profondeur de champ, le flou de mouvement et le bloom
- Les situations de faible éclairage ou de saturation lumineuse
- L’occlusion partielle, comme les transparences, le brouillard, l’eau, les nuages, ce qui se trouve derrière le feuillage ou les éléments de l’affichage tête haute (HUD)
- Les détails de texture à basse fréquence, comme les particules et les transparences à demi-résolution
- Les bords de l’écran
- Les zones sûres de suivi oculaire en réalité virtuelle
- Les objets en mouvement rapide

- Taux 1 × 1 : un appel PS par pixel. Chaque pixel est ombré.
- Taux 2 × 1 : un demi-appel PS par pixel. Plus de détails à la verticale.
- Taux 1 × 2 : un demi-appel PS par pixel. Plus de détails à l’horizontale.
- Taux 2 × 2 : un quart d’appel PS par pixel. Quart de taux.
Sources du taux d’ombrage
Il existe trois façons de spécifier le taux du nuanceur.- Par appel de dessin :
- Tier 1 sur les PC Windows.
- RSSetShadingRate définit le taux d’ombrage de base et les combinateurs pour VRS.
- Par sommet déclencheur ou par primitive :
- Tier 2 sur les PC Windows et XBOX Series X|S.
- Exportation à l’aide de SV_ShadingRate.
- Carte en espace écran :
- Tier 2 sur les PC Windows et XBOX Series X|S.
- RSSetShadingRateImage définit l’image de taux d’ombrage en espace écran pour VRS.
R8_UINTpar tuile, qui contient des énumérations D3D12_SHADING_RATE.- L’application interroge la taille de tuile, soit 8 × 8, 16 × 16 ou 32 × 32.

- Le premier combinateur prend les taux d’ombrage de l’appel de dessin et l’exportation du sommet par paramètre ou du sommet déclencheur.
- Le deuxième combinateur prend les résultats du premier combinateur et les combine avec la carte en espace écran.
- Le taux d’ombrage final est transmis au rastériseur.

La figure 4 montre une scène rendue avec un taux variable en 4K, une taille de tuile de 8 × 8 et sans anticrénelage temporel (TAA). Cette scène a été rendue avec de nombreuses réductions du taux d’ombrage.
Figure 5. Taux d’ombrage par tuile.
La figure 5 montre la même scène en utilisant un filtre de Sobel et un vote par tuile.
Le taux 1 × 1 est en rouge. Le taux 2 × 1 est en cyan et comporte plus de détails verticaux, ce qui montre les détails de texture sur les murs de gauche et de droite. Le taux 1 × 2 est en jaune et comporte plus de détails horizontaux. Le taux 2 × 2 est en noir.
Figure 6. Zone agrandie.
La figure 6 agrandit les pierres du mur du fond de la figure 5 dans une zone de 160 × 168 pixels. Cela représente environ 0,3 % de la scène 4K originale.
- Le signal VRS se trouve du côté gauche de la figure 6.
- L’image de référence, entièrement rendue au taux 1 × 1, se trouve au milieu de la figure 6.
- Les images du taux d’ombrage et de l’erreur absolue se trouvent du côté droit de la figure 6.
La figure 7 montre les endroits où le nuanceur qui générait le taux d’ombrage a utilisé le plein taux 1 × 1. Notez que cela a été fait dans les zones à contraste élevé. Notez aussi que le nuanceur a repéré la réflexion spéculaire sur le dessus des pierres concernées.
Figure 8. Zone agrandie : taux 2 × 2.
La figure 8 montre les endroits où le nuanceur a utilisé le taux 2 × 2 sur la surface des pierres. Notez la réduction de la qualité d’ombrage pour le signal VRS.
Figure 9. Zone agrandie : taux d’ombrage multiples.
La figure 9 montre les zones où plusieurs taux d’ombrage ont été utilisés sur les sections endommagées de la surface des pierres.
Figure 10. Zone agrandie : demi-taux.
La figure 10 montre les zones où l’ombrage à demi-taux a été utilisé. Il est utile pour préserver les détails dans une zone particulière. Sans ombrage à demi-taux, vous devez utiliser l’ombrage à plein taux.
Figure 11. Quelle quantité d’ombrage avons-nous effectuée?

- 94 tuiles à plein taux (rouge)
- 143 tuiles à demi-taux (cyan/jaune)
- 183 tuiles à quart de taux (noir)
- Sans VRS = 26 880 threads PS
- Avec VRS = 13 520 threads PS
- Appels PS divisés par le nombre de pixels = 0,503
Dériver la carte en espace écran
Nous vous recommandons d’utiliser l’image précédente pour prédire l’image actuelle. Par exemple, l’image précédente vous indiquera :- Où vous appliquerez la profondeur de champ.
- Où le flou de mouvement se produit.
- Qu’il y a une zone de faible éclairage ou une zone de saturation lumineuse.
- On a commencé avec un filtre de Sobel.
- Les résultats ont été obtenus sans reprojection du mouvement.
- Les noyaux de convolution X et Y ont été vérifiés par rapport au gradient et à la luminance, puis comparés à un taux.
- Vote par tuile sur le taux d’ombrage à utiliser.
- Si le résultat de la comparaison est non nul pour X ou Y, le taux est de 2 × 1 ou de 1 × 2.
- Nous vous recommandons d’utiliser des fonctions intrinsèques inter-voies.
Pour un filtre mis à jour, consultez l’exemple VRSandSparseLighting dans les exemples pour console du Microsoft GDK.
La figure 12 compare l’image de référence au taux 1 × 1 avec un signal VRS de la même scène.
VRS modifie l’emplacement d’appel PS, ce qui peut causer des problèmes. Par exemple :
- VRS peut capturer des détails qui ne figurent pas dans l’image de référence.
- Différents taux d’ombrage peuvent capturer ou manquer des détails sous-pixel.
- Crénelage temporel lorsque la caméra se déplace :
- Dans cet exemple, des problèmes de crénelage temporel surviennent même sans VRS.
- Les taux grossiers de VRS pourraient aggraver le sous-échantillonnage.
- Les gradients de texture sont plus longs pour chaque axe grossier.
- La sélection d’un mip inférieur est automatique et améliore le crénelage.
- L’utilisation de niveaux de détail (LOD) de maillage améliore les performances.
- Soyez prudent lorsque vous utilisez le crénelage de nuanceur.
- Utilisez TAA pour résoudre les problèmes de rendu liés au sous-échantillonnage.
Taux d’ombrage
Les taux 1 × 1, 2 × 1, 1 × 2 et 2 × 2 constituent l’ensemble minimal de fonctionnalités de VRS. Les PC disposent d’une capacité supplémentaire avec AdditionalShadingRatesSupported, qui prend en charge les taux d’ombrage 2 × 4, 4 × 2 ou 4 × 4. Les taux 2x semblent les plus efficaces. Avec les taux 2x, il peut être difficile de déceler une dégradation de la qualité. C’est particulièrement vrai avec les taux 2 × 1 et 1 × 2. Avec les taux 4x, les différences de rendu sont beaucoup plus visibles, mais ces taux sont plus difficiles à utiliser. Les gains de performances diminuent lorsque vous utilisez les taux 4x. Voici les résultats de performances NVIDIA Tier 2 avec la carte en espace écran. Wolfenstein II: The New Colossus- Le mode équilibré présente une amélioration de 6 % du nombre d’images par seconde (FPS).
- Le mode performances présente une amélioration de 9 à 10 % des FPS.
- Source : Digital Foundry
- Réduction de 8 à 17 % du temps d’image global.
Pour les gains de performances de DOOM Eternal et Gears 5 et de l’information à jour, consultez la vidéo suivante :
VRS Tier 2.x sur XBOX Series X|S
Prise en charge par les consoles XBOX Series X|S
Les consoles XBOX Series X|S ont implémenté la spécification PC Tier 2 dans la version de novembre 2019 du Microsoft Game Development Kit (GDK), avec les fonctionnalités et exceptions suivantes. Fonctionnalités :- Taux d’ombrage 1 × 1, 1 × 2, 2 × 1 et 2 × 2
- Carte en espace écran
- Aucune capacité de mode 4x.
- La sortie du masque de couverture est actuellement incorrecte si vous utilisez MSAA. Un correctif est prévu pour ce problème de sortie.
- L’entrée SV_Coverage fonctionne correctement.
- Le matériel n’implémente pas de centroïde conforme à la spécification.
- Une vue de cible de rendu (RTV) est autorisée sur la carte d’image de taux d’ombrage.
Extensions XBOX pour XBOX Series X|S
La prise en charge est prévue pour :- Le super-échantillonnage avec MSAA.
- Les décalages de position d’échantillon.
- Des combinateurs supplémentaires.
- Le taux d’ombrage par primitive avec plusieurs fenêtres d’affichage.
- L’exportation du taux d’ombrage à partir du nuanceur de domaine.
- La surface de rétroaction du taux d’ombrage.
Super-échantillonnage avec MSAA
XBOX Series X|S prend en charge les taux d’ombrage de super-échantillonnage 2x et 4x. Par exemple, ils sont utilisés en MSAA 8x. L’ensemble des appels PS possibles par pixel est le suivant.- 0.25
- 0.5
- 1
- 2
- 4
- 8

HTile et la carte en espace écran
Sur XBOX Series X|S, le taux d’ombrage est écrit dans une carte en espace écran, qui est ensuite transcodée en HTile, où le rastériseur lit le taux d’ombrage.- La taille de tuile est toujours de 8 × 8. Aucune requête n’est nécessaire.
- La tuile est lue pendant la rastérisation. Aucune bande passante supplémentaire n’est nécessaire.
- Une extension XBOX pourrait effectuer un effacement de profondeur et définir la carte de taux d’ombrage en une seule passe. Cela améliore les performances.
Deux nouveaux encodages HTile
Deux nouveaux encodages HTile avec Stencil sont maintenant offerts.- Sans prise en charge du taux d’ombrage de super-échantillonnage :
- Les bits libres 10 et 11 du Stencil HTile servent à stocker le taux d’ombrage.
- Avec prise en charge du taux d’ombrage de super-échantillonnage :
- Quatre bits sont nécessaires pour le taux d’ombrage. HTile perd son deuxième prétest Hi-Stencil (bits 6 et 7). Le premier prétest demeure.
Détails d’implémentation sur XBOX Series X|S
LorsqueRSSetShadingRateImage est appelée, elle transcode le contenu en HTile. S’il n’y a aucun HTile lié, un HTile temporaire est alloué à partir de l’allocateur de commandes de la liste de commandes. Cela permet d’utiliser VRS sans profondeur. VRS peut servir notamment au post-traitement. Si l’allocation échoue par manque de mémoire, VRS est désactivé.
Si vous modifiez la vue du stencil de profondeur (DSV), nous vous recommandons d’appeler d’abord RSSetShadingRateImage(nullptr). Sinon, vous pourriez payer de nouveau le coût du transcodage si la DSV a les mêmes dimensions.
Une RTV de plus de 4K échoue. Un correctif pour ce problème est prévu dans la version d’avril 2020 du Microsoft Game Development Kit (GDK).
XBOX Series X|S dispose de combinateurs supplémentaires
Figure 14. XBOX Series X|S dispose de combinateurs supplémentaires.
Emplacement d’appel PS
Le matériel XBOX Series X|S prend en charge les décalages d’échantillon au centre, au centroïde et programmables, qui peuvent modifier l’emplacement d’appel du nuanceur de pixels.- Décalage de 4 bits pour chaque taux d’ombrage
- L’emplacement auquel le PS est appelé peut changer à chaque cycle d’image
Incompatibilités de VRS
Quelques éléments sont incompatibles avec VRS et le désactivent sur XBOX Series X|S. Cela se produit lorsque l’emplacement du PS ne s’aligne pas sur l’échantillon de profondeur ou l’échantillon de stencil.- Masque de couverture après la profondeur
- Raster Order Views (ROV)
- Importation de SV_Depth
- Transmettez plutôt la valeur au moyen d’un interpolateur. Consultez la définition du compilateur de nuanceurs
__XBOX_SV_POS_ZW_VIA_ATTRIBUTE, qui le fait pour vous.
- Transmettez plutôt la valeur au moyen d’un interpolateur. Consultez la définition du compilateur de nuanceurs
- Écriture de
SV_Depthou de SV_StencilRef
Extension Shading Rate Feedback Surface
L’extension Shading Rate Feedback Surface effectue ce qui suit :- Prend 2 bits de cmask
- Enregistre si un triangle a été rendu à un taux fin ou grossier sur chaque axe
- Supprime la fonctionnalité d’effacement rapide de
cmask - Est incompatible avec le processus
cmaskde composition rapide
Récapitulatif de la prise en charge des plateformes
Figure 15. Prise en charge des plateformes.
Ces renseignements étaient à jour en date de novembre 2019. Plusieurs fonctionnalités pourraient avoir changé ou avoir été mises à jour depuis.
- XBOX Series X|S prend en charge le plus grand nombre d’ensembles de fonctionnalités.
- Avec les petits éléments, il est préférable d’utiliser des tuiles de 8 × 8 plutôt que de 16 × 16, car elles augmentent le taux d’ombrage pour moins de pixels.
Optimisations des performances matérielles de XBOX Series X|S
Les améliorations des performances de XBOX Series X|S doivent s’accompagner d’une réduction de la charge des nuanceurs de pixels.Opérations du bloc de couleur
Dans le pipeline graphique logique, un bloc de couleur est l’une des deux dernières opérations logiques avant la sortie du rendu. Chemins lents Lorsque la RTV dépasse 32 bits par pixel (bpp) ou que le mélange est activé :- Sans VRS, il y a 4 pixels par cycle d’horloge par moteur de rendu final (RB).
- Avec VRS, il y a 4 pixels par cycle d’horloge par RB. Toutefois, la diffusion du grossier vers le fin prend n cycles supplémentaires, où n est égal au nombre de pixels couverts.
- Sans VRS, vous pouvez utiliser le moteur de rendu final optimisé (RB+) avec un taux 2x, ce qui équivaut à 8 pixels par cycle d’horloge par RB.
- Avec VRS, il y a 4 pixels par cycle d’horloge par RB pour un taux 1 × 1.
- Toutefois, le bloc de couleur peut charger latéralement des copies de diffusion supplémentaires.
- 4 pixels par cycle d’horloge pour un taux 2 × 1.
- 8 pixels par cycle d’horloge pour un taux 1 × 2.
- 8 pixels par cycle d’horloge pour un taux 2 × 2.
RSSetShadingRate
Pour utiliser RB+, désactivez VRS en appelantRSSetShadingRate(D3D12_SHADING_RATE_1x1, nullptr);. Notez que RSSetShadingRate n’entraîne pas de changement de contexte.
VRS et compression delta des couleurs
La compression delta des couleurs (DCC) dispose maintenant d’un mode compatible avec VRS qui réduit la bande passante.- VRS génère un signal qui se compresse mal avec la DCC ordinaire.
- Exemple de signal : ancre, delta, delta nul, delta, delta nul. Répétition.
- Un mode compatible avec VRS a été ajouté à la DCC.
- Optimisé pour une compression proche de 4:1 au taux 2 × 2.
- Des ratios nettement améliorés pour les taux 2 × 1 et 1 × 2.
Éclairage clairsemé
VRS écrit des valeurs de g-buffer en double et les éclaire. Le traitement de données de g-buffer en double est un gaspillage.Éclairage clairsemé : exploiter le signal VRS
Pour éviter de gaspiller des performances, examinez les g-buffers pour y repérer les valeurs en double, puis identifiez et éclairez seulement un sous-ensemble de pixels. Par exemple, dans un quad de 2 × 2 pixels :- 1 pixel pour un taux 2 × 2
- 2 pixels pour un taux 1 × 2 ou 2 × 1 (motif en damier)
- 4 pixels pour un taux 1 × 1
Exemple d’implémentation de l’éclairage clairsemé
Voici un exemple qui utilise une taille de tuile de 16 × 16 et une taille de groupe de 8 × 8.- Le thread du nuanceur de calcul compare les valeurs de g-buffer par bloc de 2 × 2 pixels.
- Il écrit ensuite de 1 à 4 coordonnées par thread. Chacune comporte 32 bits par coordonnée.
- 4 bits pour la coordonnée x relative à la tuile.
- 4 bits pour la coordonnée y relative à la tuile.
- 3 bits indiquant s’il faut copier la valeur en x, en y ou en diagonale (pour remplir les trous).
- 21 bits suffisent pour une valeur de profondeur.
- L’une des sorties est le nombre d’opérations d’éclairage nécessaires par tuile d’écran.
Pour de l’information à jour, consultez les ressources suivantes :
Nuanceur d’éclairage différé
Le nuanceur d’éclairage différé distribue maintenant une wave par thread de tuile au lieu d’un thread par pixel.- La wave effectue n boucles sur
tileCount. Les performances s’améliorent lorsque vous supprimez des opérations d’éclairage équivalant à au moins une wave de travail. En comparant les performances de Wave32 et de Wave64 :- Wave32 produit une accélération lorsqu’il y a 224 pixels ou moins à éclairer.
- Wave64 produit une accélération lorsqu’il y a 194 pixels ou moins à éclairer.
- Le thread lit 32 bits et décompresse coordinate.xy et la profondeur.
- Effectuez l’éclairage comme vous le feriez habituellement. Les listes de lumières restent invariantes par wave.
- Terminez avec jusqu’à trois copies de diffusion du résultat éclairé.
- Un bit pour chaque copie horizontale, verticale et diagonale.
- XOR1 sert à calculer destination.xy pour chacune des trois copies.
- Le remplissage des trous est parfait, précalculé et peu coûteux.
La figure 16 montre, à gauche, une image 4K d’une tête de lion en pierre éclairée de façon clairsemée. Le tampon de comptage se trouve à droite. Il montre une diminution importante des opérations d’éclairage. Les g-buffers de la pierre ont été testés pour repérer les valeurs exactement en double, avec une petite plage de profondeur permise (delta LinearZ permis de 0,001).
Figure 17. Résultat éclairé, sans remplissage des trous.
La figure 17 montre une image agrandie de l’œil du lion sans remplissage des trous.
- Les trous sont des pixels noirs.
- 1 × 1 : chaque échantillon est éclairé.
- 2 × 1 et 1 × 2 ressemblent tous deux à des damiers.
- 2 × 2 éclaire un échantillon sur quatre.
- Un appel si le quad de pixels est couvert par un seul triangle.
- Quatre appels si le quad est couvert par quatre triangles.
La figure 18 montre le résultat de l’ajout d’un petit delta permis dans les valeurs lors de la comparaison des g-buffers. Les valeurs des normales sont à gauche. Les valeurs d’albédo sont à droite. L’ajout de ce petit delta a réduit le nombre d’opérations d’éclairage et éliminé le maillage filaire. La luminance de ces images correspond approximativement au nombre de calculs d’éclairage. On s’approche ainsi de l’ensemble optimal de pixels à éclairer, soit 1, 2, 3 ou 4 par taux 2 × 2.
Figure 19. Correspondance exacte des g-buffers.
La figure 19 montre l’image de la tête de lion avec les trous remplis. Il est difficile de voir la différence entre les deux, même agrandies.
Examen des g-buffers avec des optimisations propres à XBOX Series X|S
Il existe une implémentation améliorée qui ne nécessite pas d’examiner le contenu des g-buffers. Pour plus d’information, consultez la vidéo et l’exemple suivants.
- Lisez la carte de taux d’ombrage. Utilisez le chemin rapide pour les tuiles à plein taux et traitez chaque pixel.
- Tirez parti de la surface
cmaskde rétroaction du taux d’ombrage. Utilisez le chemin rapide pour les tuiles à taux réduit couvertes par un seul triangle. - Pour les tuiles restantes :
- Lisez la clé DCC, puis exploitez les deltas nuls.
- Effectuez un examen des g-buffers.
- Utilisez le hachage des g-buffers pour l’optimisation. Cela se fait au prix du stockage et de la bande passante.
- Combinez la lecture des g-buffers avec des passes qui font autre chose, comme la lecture de la profondeur.
La figure 20 montre des rendus de scènes qui comparent les économies de l’éclairage clairsemé à l’éclairage différé en 4K.
cmasket la DCC n’ont pas été utilisés dans ces scènes.- La figure n’inclut pas les économies liées à VRS ni au temps de rastérisation.
- La discontinuité de profondeur autour des piliers entraîne une grande partition de profondeur et un nombre de lumières plus élevé.
- Dans la scène du bas, le nombre de lumières est relativement faible.
- La scène du haut a le temps total écoulé le plus élevé. La scène du bas a le temps total écoulé le plus faible. Les améliorations évoluent favorablement avec la complexité de la scène.
Intégration avec d’autres techniques
VRS, mise à l’échelle dynamique de la résolution et suréchantillonnage temporel
VRS ne remplace pas la mise à l’échelle dynamique de la résolution (DRS).- Il est possible de réduire le taux d’ombrage lorsque le temps d’image dépasse le temps d’image cible.
- Les améliorations de VRS sont imprévisibles. Elles dépendent du contenu de la scène. L’éclairage fait aussi partie des autres facteurs.
- La DRS a un effet plus important et plus prévisible sur le temps d’image.
- Ne remplacez pas la DRS. Aidez plutôt la DRS à atteindre des résolutions plus élevées.
- Utilisez le suréchantillonnage temporel vers la résolution de sortie.

Facteurs de performances de VRS
Les performances de VRS dépendent de plusieurs facteurs, notamment :- L’efficacité de la rastérisation. Le mappage de parallaxe, de relief et par pas de cône est à privilégier.
- Le contenu de la scène.
- La surcharge du calcul du taux d’ombrage.
- Le coût du PS et les goulots d’étranglement matériels en aval.
- Vos préférences personnelles entre performances et qualité.
Taux d’ombrage par triangle/par appel de dessin
Les taux d’ombrage par triangle/par appel de dessin constituent une excellente amélioration des performances. Ils réduisent le coût GPU par rapport à la carte en espace écran. Par appel de dessin :- Les particules et les objets en mouvement rapide sont rendus dans la carte de réflexion.
- Déterminer si l’objet se trouve derrière une translucidité.
- Déterminer si le triangle se trouve de l’autre côté d’une surface d’eau par rapport à la caméra.
- Déterminer si le triangle est occulté par du feuillage ou un autre objet.
Plans futurs
XBOX seulement
- Supprimer la carte en espace écran.
- Écrire le taux d’ombrage directement dans HTile.
- Effectuer un effacement de profondeur dans la même opération.
- Faire pivoter les décalages d’échantillon à chaque image.
- Cela produit une convergence semblable au damier, tout en offrant une couverture parfaite.
PC et XBOX
- Combiner la détermination du taux d’ombrage avec un nuanceur de post-traitement.
- Pour les taux inférieurs à 1 × 1, mais pas tout à fait 2 × 2, procédez comme suit :
- Envisagez d’alterner les taux 2 × 1 et 1 × 2 à chaque image, en particulier pour les titres à 60 hertz.
- Cela produit un motif en damier où les cases noires reçoivent 2 × 1 à la première image et 1 × 2 à l’image suivante. Les cases blanches reçoivent 1 × 2 à la première image et 2 × 1 à l’image suivante.
- Utilisez une gigue TAA grossière plutôt qu’une gigue TAA sous-pixel.
- Ajoutez un taux d’ombrage par triangle.
- Utilisez la carte en espace écran, sauf si un taux plus grossier est spécifié. C’est un excellent réglage par défaut pour le combinateur.
- Lancer de rayons.
- Utilisez la même mesure de fréquence d’ombrage (la carte) pour contrôler le nombre de rayons.
- Diffusez le résultat du rayon aux pixels adjacents (lancer de rayons clairsemé).
Conclusion
VRS est une optimisation puissante pour les appareils PC et XBOX Series X|S.- VRS offre une couverture parfaite et un contrôle local du taux d’ombrage. Il s’agit d’améliorations importantes par rapport aux fonctionnalités existantes.
- Il est facile d’intégrer VRS à votre moteur. VRS s’intègre bien aux technologies existantes comme la DRS et le suréchantillonnage temporel.
- Les gains les plus importants de VRS surviennent lors du traitement d’effets traditionnellement coûteux, comme les flous, les ombres et les effets volumétriques.
- VRS a une surcharge très faible.
- Éclairer des données de g-buffer en double gaspille des ressources.
- D’autres passes clairsemées sont possibles.
- Réutilisez le nombre d’opérations d’éclairage nécessaires par tuile d’écran et leurs coordonnées.
Étapes suivantes
Si vous souhaitez consulter l’information des documents de présentation liés à cette vue d’ensemble, téléchargez les fichiers suivants à partir du stockage sécurisé des données de téléchargement pour les développeurs XBOX (SDS).- Diaporama : XF2019_Graphics_08_Day2_Variable_Rate_Shading_and_Sparse_Lighting.pptx dans Xfest 2019 Graphics Track PowerPoints ([2019.11]-Xfest2019GraphicsTrackPowerPoints.ZIP)
- Présentation vidéo : XF2019_Graphics_08_Day2_Variable_Rate_Shading_and_Sparse_Lighting.mp4 dans Xfest 2019 Graphics Track Videos ([2019.11]-Xfest2019GraphicsTrackVideos.ZIP)
Télécharger les présentations Microsoft PowerPoint et les vidéos
- Accédez aux téléchargements du Game Development Kit (GDK).
- Sous Select file type, sélectionnez Conference Materials, puis sélectionnez Confirm.
- Sous Select build/version number, choisissez l’une des présentations graphiques suivantes.
- Xfest 2019 Graphics Track PowerPoints
- Xfest 2019 Graphics Track Videos
- Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
- Accédez à votre dossier Téléchargements local, puis décompressez (extrayez) les fichiers du dossier compressé.
Télécharger les exemples pour console du GDK mentionnés dans cette rubrique
- Accédez aux téléchargements du Game Development Kit (GDK).
- Sous Select file type, sélectionnez GDK, puis sélectionnez Confirm.
- Sous Select build/version number, choisissez l’option Microsoft GDKX (Sample only) la plus récente.
- Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
- Accédez à votre dossier Téléchargements local, puis décompressez (extrayez) les fichiers du dossier compressé.
- Sélectionnez GDKSamples > Graphics. Recherchez l’exemple.
