Was ist Mehrfachabtastung?
Mehrfachabtastung ist ein Antialiasing-Verfahren, das die geometrische Abdeckung an mehreren Positionen innerhalb jedes Pixels auswertet. Ausgewählte Shading-Berechnungen werden für mehrere Abtastpunkte gemeinsam genutzt, um den Rechenaufwand gegenüber vollständigem Supersampling zu senken.
So funktioniert Mehrfachabtastung
Antialiasing durch Mehrfachabtastung speichert für jedes gerasterte Pixel mehrere Abdeckungswerte, führt den Fragment-Shader dabei aber meist seltener aus als vollständiges Supersampling. An Polygongrenzen erfassen diese Werte, welche Teile des Pixels abgedeckt sind. Ein Resolve-Vorgang kombiniert sie zu einem Anzeigewert. Pixel im Inneren profitieren oft wenig, da alle Abtastpunkte dasselbe Primitiv erfassen. Das Verfahren gehört zur Rendering-Phase und verbessert vor allem geometrische Kanten, beseitigt aber nicht jede Ursache von Flimmern oder Textur-Aliasing.
Wichtige Fakten
- Ein MSAA-Framebuffer benötigt mehrfach abgetastete Farbdaten und meist auch mehrfach abgetastete Tiefen- und Stencildaten. Das erhöht den Speicherverkehr vor dem abschließenden Resolve-Vorgang.
- Laub mit Alphatest und Kanten, die durch Shader erzeugt werden, profitieren möglicherweise wenig, da gewöhnliches MSAA die Polygonabdeckung statt beliebiger Transparenzänderungen erfasst.
- Die Anzahl der Abtastpunkte wird durch die Grafik-API, die Attachment-Formate und die Hardware begrenzt. Wird eine nicht unterstützte Anzahl angefordert, kann die Erstellung des Framebuffers fehlschlagen.
Wann Mehrfachabtastung wichtig ist
Aktivieren Sie Mehrfachabtastung, wenn Polygonkanten geglättet werden sollen, ohne das Shading für jeden Abtastpunkt separat zu berechnen. Mehr Abtastpunkte reduzieren gezackte Kanten, benötigen aber mehr Speicher, Bandbreite und Rendering-Zeit.