Qu’est-ce que le multi-échantillonnage ?
Le multi-échantillonnage est une technique d’anticrénelage qui évalue la couverture géométrique en plusieurs positions dans chaque pixel. Il partage certains calculs d’ombrage entre les échantillons pour réduire le coût par rapport à un suréchantillonnage complet.
Fonctionnement du multi-échantillonnage
L’anticrénelage multi-échantillons stocke plusieurs échantillons de couverture pour chaque pixel rastérisé, tout en exécutant généralement le shader de fragments moins souvent qu’un suréchantillonnage complet. Aux limites des polygones, ces échantillons enregistrent les parties du pixel qui sont couvertes, et une opération de résolution les combine en une seule valeur d’affichage. Les pixels intérieurs en bénéficient souvent peu, car tous les échantillons voient la même primitive. Cette technique intervient à l’étape du rendu et améliore principalement les contours géométriques, sans corriger toutes les sources de scintillement ou de crénelage des textures.
Points clés
- Un tampon d’image MSAA nécessite des données de couleur multi-échantillonnées et, généralement, des données de profondeur et de stencil multi-échantillonnées, ce qui augmente le trafic mémoire avant la résolution finale.
- Le feuillage soumis à un test alpha et les contours générés par des shaders peuvent en bénéficier peu, car le MSAA ordinaire suit la couverture des polygones plutôt que des variations arbitraires de transparence.
- Le nombre d’échantillons est limité par l’API graphique, les formats des ressources attachées au tampon d’image et le matériel ; demander un nombre non pris en charge peut faire échouer la création du tampon d’image.
Quand le multi-échantillonnage est utile
Activez le multi-échantillonnage lorsque les contours des polygones doivent être lissés sans calculer l’ombrage de chaque échantillon indépendamment. Un nombre d’échantillons plus élevé réduit les contours en escalier, mais consomme davantage de mémoire, de bande passante et de temps de rendu.