Anti-Aliasing Masken: Probleme und Lösungen
3. Januar 2004 / von aths / Seite 1 von 7
Worum es geht
Wir haben uns schon mit Anti-Aliasing im Allgemeinen auseinander gesetzt, als auch die Besonderheiten beim Multisampling beleuchtet. Natürlich kann kein Artikel umfassend sein, das würde den Umfang sprengen, weshalb wir uns in einzelnen Artikeln nur bestimmte Aspekte heraus greifen. Um diesen Text überschaubar zu halten, setzen wir die Kenntnis der beiden verlinkten Artikel voraus.
Dem Leser sollte also schon bekannt sein, dass Kantenglättung so stattfindet, indem die Grafikkarte mehrere Samples pro Pixel berechnet, dessen Farbwerte dann für die eigentliche Pixelfarbe zusammengemischt werden. Dabei hängt die Güte einer Anti-Aliasing-Maßnahme nicht nur von der Stufe ab, also wieviele Subpixel pro Pixel genutzt werden, sondern auch vom konkreten Aussehen der Subpixelmaske.
Heute wollen wir auf einen von uns viel benutzten Begriff eingehen, der "Edge Equivalent Resolution", kurz EER. Dieser Begriff bietet nämlich eine gute Möglichkeit, Anti-Aliasing-Qualität zu quantifizieren, also in Zahlen auszudrücken. Allerdings ist der Ausdruck wenig geläufig. Matrox verwendet den Terminus in einem Interview, allerdings in einem strengeren Sinne, als wir das tun.
Doch weil wir in Artikeln, sobald das Feld der Anti-Aliasing-Qualität gestreift wird, die EER heranziehen, sollen jetzt detaillierte Erklärungen nachgereicht werden. Zunächst werden einige neue Begrifflichkeiten geklärt, danach gehen wir schrittweise einige populäre Subpixel-Masken durch. Wie immer sollen "nebenbei" populäre Fehlannahmen beseitigt werden, so dass ein grundsätzlich bestimmter Drehwinkel optimal sei oder pseudozufällige Subpixelmasken die beste Qualität liefern würden.
Auf großartige Bebilderung wollen wir diesmal verzichten. Denn einen Effekt zu sehen heißt nicht, ihn zu verstehen :-). Wann immer es uns nützlich erscheint, ein Bild zu bringen statt viele Worte zu machen, werden wir das natürlich tun, weil sich so Platz sparen lässt. Doch ist heute vom Leser die volle Konzentration auch beim Text gefordert, mit der Betrachtung einiger Bilder ist es nicht getan.
Wir legten bereits ausführlich dar, wie Aliasing entsteht: Durch Unterabtastung. Unterabtastung heißt, bestimmte Informationen beim Digitalisierungsprozess nicht zu berücksichtigen. Dabei tritt der Effekt auf, dass nicht nur diese übersehenen Informationen fehlen, sondern dass das abgetastete Signal insgesamt verfälscht wird. Aliasing gilt es also tunlichst zu vermeiden. Leider sind wir nicht in der Analog-Technik, wo man per Tiefpass-Filterung die Signalanteile, die voraussehbar unterabgetastet würden, einfach herausfiltern kann. Damit gehen die Informationen ebenfalls verloren, aber wenigstens stören sie die anderen abgetasteten Werte nicht mehr. Wir müssen also mit dem Aliasing-Problem prinzipiell leben, können aber das Resultat trotzdem erheblich verbessern.
Digitalisierung, also die Umwandlung einer kontinuierlichen Messung in diskrete Messwerte, gibt (bis auf ganz seltene Ausnahmen) immer ein verfälsches Bild vom Original. Aufgrund der einfacheren und vielfältigeren Bearbeitungsmöglichkeiten setzen sich die digitalen Kollegen gegenüber ihren analogen Vorgängern generell immer weiter durch. Beim Digitalisierungsprozess und bei praktisch jeder digitalen Bearbeitung gehen Informationen verloren. Damit das Ergebnis qualitativ hochwertig bleibt, ist relativ viel Rechenaufwand nötig. Aliasing ist eine besonders "hässliche" Eigenschaft, die beim Digitalisieren auftreten kann.
Wozu der Aufwand?
Die Motivation für Anti-Aliasing im Bereich der 3D-Grafik ergibt sich nicht nur daraus, dass man gerne geglättete Kanten hätte. Man stelle sich ein Szenario vor, wo man im Hintergrund sehr dünne Objekte sieht, wie z.B. eine Stabantenne. Nehmen wir an, dieses sehr dünne Rechteck sei nur ein halbes Pixel breit. Je nach Lage zum Pixelraster wäre die Antenne mal zu sehen, und mal nicht. Derlei Flackern ist äußerst unschön. Es gilt also auch, Dinge sichtbar zu machen, die ansonsten durch das Pixelraster rutschen würden.
Dazu zählt unter anderem, dass schräge Kanten möglichst glatt sind. Uns geht es übrigens ausschließlich um Polygonkanten, also um Multisampling Anti-Aliasing, welches heute auf allen für Gamer relevanten Grafikkarten zum Einsatz kommt. Tiefere Einblicke in fortschrittliche Texturfilterung, wo das Aliasing-Problem nicht minder wichtig ist, werden Gegenstand eines zukünftigen Artikels sein.