Zum 3DCenter Forum
Inhalt




Anti-Aliasing Masken: Probleme und Lösungen

3. Januar 2004 / von aths / Seite 3 von 7


   Gedrehtes Raster

Weil die 3dfx Voodoo5 ein gedrehtes 4x-Muster verwendete, wird heute noch landläufig angenommen, gute Anti-Aliasing Masken seien immer ein gedrehtes Raster. Das stimmt nicht immer, wie wir noch sehen werden. Bei 4x stimmt es jedoch. Für den 2x-Modus ist ein 45° Winkel optimal. Gilt das generell? Nein:

Ein "entartetes" 4x rotated grid.
Ein "entartetes" 4x rotated grid.

Scheinbar verschenken wir nur EER, leider ist dieses Muster aber generell ungeeignet. Lassen wir eine horizontale Kante langsam von oben in das Pixel hereinwandern: Nach 1/6 Pixelhöhe wird das obere Subpixel bedeckt. Die Farbe des Polygons geht also zu einem Viertel in die entgültige Pixelfarbe ein. Trifft es auf die Mitte, sind mit einem Schlag drei Subpixel bedeckt. Die Farbe zählt sofort zu drei Vierteln, die 50%-Zwischenstufe kommt nicht zum Zuge.

Wir verschenken demnach nicht nur Auflösung, sondern sorgen auch für ungleichmäßige Zwischenfarben. Eine halbe Pixel-Bedeckung ist bei den wichtigen 90°-Kanten kaum möglich. Behalten wir also das 4x-Muster in der eigentlichen Ausdehnung bei und drehen wir es um weniger als 45°. Das sehen wir auf folgendem Bild links, rechts ist außerdem eine andere Version mit gedehntem Raster zu sehen:

Beide Muster scheinen einen EER von 4x4 zu haben, wobei das linke "stimmiger" erscheint. Der Nachteil offenbart sich erst, wenn man sich mehrere Pixel ansieht:

Dort, wo die Pixel aufeinander treffen, gibt es "Löcher" in der Abtastung. Eine EER von 4x4 sollte aber schon bedeuten, dass jede Kante 4x so fein abgetastet wird, also optimalerweise auch Objekte mit 1/4 Pixelbreite erwischt. Zwischen die Begrenzungen zweier Pixel ist das "Abtastungs-Loch" aber größer als 1/4, nämlich etwa 1/3. Trotz letztlich 4 Abtast-Positionen pro Achse beträgt die "effektive" EER lediglich 3x3.

Da nützt es auch nichts, dass innerhalb des Pixels das Netz engmaschiger ist. Die Angabe der "effektiven EER von 3x3" ist bitte nicht wörtlich zu verstehen, hiermit soll lediglich gesagt werden, dass dieses spezielle Raster unter bestimmten Gesichtspunkten nicht besser als 3x3 ist. Um auf die geforderte EER von 4x4 mit voller Effektivität zu kommen, muss das Pixel tatsächlich zunächst in ein 4x4 Subpixel-Raster zerlegt werden:

Nimmt man nun als tatsächliche Samples die idealen Samplepunkte der Subpixel, nämlich ihre Mitte, und verwendet dann von den 16 Subpixeln nur die 4, die man für eine 4x4-EER auch unbedingt braucht, gelangt man zu einem scheinbar unnatürlich ausgedehntem Raster. Aber nur dieses Verfahren garantiert, dass bei sehr langen Treppenstufen alle Zwischenfarben-Stufen die gleiche Länge haben bzw. sich maximal um 1 Pixel in ihrer Ausdehnung unterscheiden (das eine Pixel liegt in der sowieso nicht vermeidbaren Digitalisierungs-Ungenauigkeit).

Bei diesen lange Treppenstufen bringt ein 16x geordnetes Raster, also die Abtastung aller 16 denkbarer Subpixel lediglich, dass die Stellen, wo die Treppenstufen-Werte mal ein Pixel länger oder kürzer sind, um dieses Pixel zusätzlich geglättet werden. Mehr aber nicht.






Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Zurück / Back Weiter / Next

Shortcuts
nach oben