Anti-Aliasing im Detail
24. Februar 2002 / von aths / Seite 6 von 18
Bildvergleich der Raster | |
(Wie sich die Qualität auf einfachem Wege steigern lässt) |
Die Voodoo5 bietet Anti-Aliasing mit ebenfalls 4 Subpixeln. Doch die Glättung hängt nicht nur von der Anzahl der Samplepositionen ab! "Wieviel" Kantenglättung ist überhaupt mit vier Subpixeln möglich?
Ohne Anti-Aliasing kommt pro Pixel genau eine Sampleposition zum Zuge. Das Pixel wird demnach gefärbt oder nicht gefärbt: Das sind zwei mögliche Stufen. Bei vier Subpixeln können entweder alle Subpixel außerhalb des Polygons liegen. Oder ein, zwei, drei oder eben alle vier innerhalb. Das sind Intensitäten von 0%, 25%, 50%, 75% oder 100% Einfärbung - schon 5 Abstufungen! Der Zusammenhang ist einfach: Es gibt immer eine Abstufung mehr als Subpixel pro Pixel.
Liegt eine Kante im Winkel von 45°, ist allerdings generell nur eine Zwischenstufe möglich:
Anti-Aliasing ist bei bestimmten Winkeln besonders sinnvoll. |
Da die Treppenstufen bei 45° (plus beliebig viele rechte Winkel) nur 1 Pixel breit sind, kann maximal eine Farbabstufung zum Tragen kommen. Anders sieht es bei lang gezogenen Treppen aus. Einerseits nerven sie besonders, andererseits bieten sie natürlich auch viel Platz, um Zwischenstufen aufzunehmen.
Das normale Pixelraster ohne Anti-Aliasing erzeugt bei langen Treppen besonders hässliche Stufen. Wird das Raster nur verfeinert, bleibt aber in seiner Ausrichtung bestehen, wird an der prinzipiell schlechten Kantenglättung bei diesen Winkeln nichts geändert. Deshalb lohnt es sich, das Abtast-Raster zu drehen.
In diesem Beispiel treten normales und rotiertes Raster an, um eine 12 Pixel lange Treppenstufe zu glätten:
Das rotierte Sample-Pattern liefert deutlich bessere Ergebnisse. |
Das geordnete Raster hat bei Winkeln von ungefähr 90° offenbar erhebliche Nachteile, was das Anti-Aliasing betrifft.
Ein gedrehtes Raster ("rotated grid") zeigt schlechtere Kantenglättung bei anderen Winkeln. Auf dem Bildschirm fallen diese Nachteile dann aber wegen sowieso kürzerer Treppenstufen deutlich weniger ins Gewicht. Die Vorteile überwiegen: Nämlich dass die langen, hässlichen Treppenstufen besonders gut geglättet werden.
Dies geht so weit, dass Anti-Aliasing Füllrate sparen kann. Man las derweilen, 640x480 sehe auf einer Voodoo5 mit 4x Anti-Aliasing genauso gut aus wie 1024x768 ohne Anti-Aliasing. Das ist natürlich Unsinn. 480 Zeilen geben auf aktuellen Monitoren grundsätzlich ein groberes Bild. Noch dazu sinkt die Framerate um bis zu ein Drittel! Hingegen wird 1024x768 mit 2x Anti-Aliasing auf einer Voodoo5 von den meisten als besser empfunden als 1600x1200 ohne Kantenglättung. Dabei ist die Variante mit Anti-Aliasing auch noch schneller! Dieser Vorteil gilt natürlich nicht unbegrenzt: Bei den heute nicht mehr exotischen 19-Zöllern sind 768 Zeilen das mindeste, was man verlangt.
Anti-Aliasing mit rotiertem Raster bietet grundsätzlich einen weiteren Vorteil, der nur in Bewegung sichtbar ist: Sehr dünne Objekte bleiben zusammenhängend. Ist ein Objekt etwas dünner als ein Pixel, ist es je nach Bewegung des Spielers einmal kurz zu sehen und einmal nicht kurz nicht zu sehen. Das wird auch Line Popping genannt und nervt insbesondere bei rechten Winkeln. Hier liefert 4x rotated grid ein deutlich glätteres Bild als die ordered grid Variante.
Wird das Muster der Samplepositionen gedreht ("rotated grid"), lässt sich eine deutliche Steigerung der Bildqualität feststellen.
Unter Berücksichtigung dieser Tatsache wurde Supersampling für die letzte gebaute Voodoo-Reihe umgesetzt.