Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
FreePascal / Lazarus
|
AW: Paar Fragen zu Antialiasing
12. Jun 2012, 23:09
Also es gibt verschieden Arten von Antialiasing: - Man zeichnet alles um einen bestimmten Faktor größer, und skaliert hinterher runter. Das ist ziemlich einfach zu implementieren, aber die langsamste und speicherintensivste Variante. So ähnlich funktioniert aber klassisches Antialiasing bei Grafikkarten, nur dass hier optimiert wird, indem nur die Bildbereiche, die wirklich an Kanten liegen, mit einer höheren Auflösung gezeichnet werden. Vorteil: Funktioniert in allen Fällen und ist leicht umzusetzen. Nachteil: Speicherintensiv, und die Anzahl der Transparenz- bzw. Glättungsstufen ist von der Auflösung abhängig. Wenn man z.B. in vierfacher Größe zeichnet, sind es 16 Transparenzstufen (4*4 Samples pro Pixel).
- Man glättet schon beim zeichnen – so machen es die meisten (behaupte ich einfach mal) 2D-Grafikbibliotheken. Wenn man z.B. eine Linie (mit einer bestimmten Dicke, also eigentlich ein gedrehtes Rechteck) zeichnet, kann man ja berechnen, zu wie viel Prozent diese ein bestimmtes Pixel von dieser Linie abgedeckt wird – entsprechend färbt man das Pixel nur zu diesem Anteil. Vorteil: Unbegrenzte Transparenzstufen, perfekte Qualität, geringer Speicherverbrauch. Nachteil: Wenn man immer wieder die gleiche Linie übereinanderzeichnet, war’s das irgendwann mit Antialiasing, weil die halbtransparenten Pixel sich aufaddieren.
- Post-Processing. Gerade in letzter Zeit hört man immer wieder Post-Processing-Kantenglättung wie FXAA, wo in der Tat das fertige, nicht-antialiaste Bild einfach am Ende durchgegangen wird, und harte Kanten mithilfe spezieller Algorithmen gefunden und geglättet werden. Das lohnt sich vor allem, wenn sich sehr viele Objekte auf dem Bildschirm befinden, z.B. bei 3D-Spielen. Der Nachteil ist, dass die exakte Geometrie der Objekte zu diesem Zeitpunkt nicht mehr bekannt ist, und nur noch angenähert werden kann. Außerdem werden u.U. gewollte harte Kanten verwaschen. Außerdem dürften diese Algorithmen relativ kompliziert sein – wenn man nicht genau weiß was man tut, wird man die Treppenstufen nämlich nicht los, sondern man erhält lediglich verschommene Treppenstufen – ein ziemlich hässlicher Effekt.
|
|
Zitat
|