Anti-Aliasing Masken: Probleme und Lösungen
3. Januar 2004 / von aths / Seite 7 von 7
Schach dem Aliasing!
Löst man sich vom Paradigma einer symetrischen Abtast-Maske, gibt es natürlich mehr Möglichkeiten, das Kriterium der "sparsed"-Maske zu erfüllen. Dass "sparsed", und nur "sparsed" genommen werden sollte, ist aus unserer Sicht das vernünftigste. Die beschriebenen Probleme (Speicherverbrauch, Speicherbandbreite, MSAA-Füllrate) verhindern, dass die Verwendung von sehr vielen Samples praktikabel ist. Um mit einer gegebenen Anzahl Samples maximale Glättung der kritischsten Kanten zu erreichen, nämlich Winkel die Vielfache von annähernd 90° sind, muss man eine Maske mit maximaler EER verwenden.
Aus der Welt des Schach-Spieles ist das so genannte "Acht-Damen-Problem" bekannt: Wie stellt man 8 untereinander feindliche Damen auf einem Schachfeld auf, so dass keine Figur bedroht ist? Nach einer Weile des Probierens gelangt man zu der einen oder anderen Lösung:
Das Kriterium für eine "sparsed"-Maske beinhaltet ja nur, dass man sich auf der X- und auf der Y-Achse nicht trifft. Im Schach wäre das sozusagen ein Acht-Türme-Problem. Beim Acht-Damen-Problem dürfen sich die Figuren, in unsere Welt übertragen also die Subpixel, auch im 45°-Winkel nicht begegnen. Damit wird automatisch verhindert, dass Subpixel in "2er Klumpen" auftreten.
Doch wie man sieht, ist nicht immer eine "gute" Abtastung garantiert: In der Lösung rechts sieht man sofort die Nachteile bei einem 26,6°-Winkel. Die Vermeidung von "2er Klumpung" gilt außerdem nur für das Pixel ansich. Betrachtet man mehrere Pixel mit der gleichen Acht-Damen-Maske, gibt es für das Acht-Damen-Problem durchaus Lösungen, die eine Maske erzeugen, welche diese Klumpungen an Pixelgrenzen wieder auftreten lässt:
Fazit
Eine gute Subpixel-Maske muss einige Kriterien erfüllen, wenn sie effizient sein soll. Wenn man eine Maske so wählt, dass sie "sparsed" ist, also maximale EER-Ausnutzung bietet, ist man schon auf gutem Wege. Doch je mehr Subpixel man hat, desto mehr Masken stehen zur Auswahl, die allesamt "sparsed" sind. Man kann leider nicht einfach alle Masken einsetzen und jeweils nach dem Zufallsprinzip mal diese und mal jene wählen, weil das neue negative Effekte mit sich bringt.
Es gibt verschiedene Ansätze, um den Versuch zu wagen, die "beste" Form zu finden. Wir haben zwei davon eingehender untersucht: Die Verschachtelung von zwei 4x RG-Masken und das Acht-Damen-Problem. Erstere bietet ein symetrisches Raster, letzteres in der Regel ein wirres und unsymetrisches.
Sind symetrische Raster immer vorzuziehen? Sie bieten ja eher eine "Gleichbehandlung" als unsymetrische. Andererseits glätten gute 8x-Masken schon so gut, dass "Ungleichbehandlungen" kaum noch auszumachen sein dürften. Jedenfalls ist es nicht so leicht, die optimale Maske zu finden. Dazu müssten zusätzliche Kriterien aufgestellt werden. Jede Forderung will aber gut begründet sein. Dazu reicht es nicht aus, einige Beispiel-Bilder als Beleg zu bringen, man müsste nachweisen, dass eine Forderung generell sinnvoll ist.
Immerhin, ein Fazit ist zu ziehen: Die maximale Egde-Equivalent Resolution zu fordern, ist in jedem Fall sinnvoll, sofern man aus wenig Subpixeln soviel wie möglich machen will. Da die Hardware heutzutage nicht beliebig hohe Multisampling-Grade bieten kann, ist die Forderung nach maximaler Effizienz sehr berechtigt. Das EER-Kriterium ist jedoch nur eine notwendige, aber noch nicht hinreichende Forderung.
Wir hoffen, dass ein kleiner Einblick in die Materie der Anti-Aliasing Subpixel-Masken gegeben werden konnte. In diesem Artikel griffen wir so manche Anregung aus dem Forum auf, insbesondere sind Gedankenspiele von Demirug erwähnenswert. Hilfreich war auch eine Argumentation von ram. Last but not least sei der großen Zahl ungenannter Foren-Teilnehmer gedankt, dessen Ideen zumindest indirekt eingeflossen sind.