Blender Dokumentation: Anti-Aliasing
Diese Seite bezieht sich auf Blender v2.42 |
AntiAliasing (AA)
BearbeitenEin computergeneriertes Bild ist aus Pixeln aufgebaut und jedes Pixel kann natürlich nur eine Farbe aufweisen. Welche Farbe das Pixel erhält ist abhängig davon, zu welchem Objekt in der Szene es gehört. Besonders an scharfen Kanten führt dies oft zu dem so genannten «Treppcheneffekt» (Abb.1)
Häufig wird Antialiasing auch falsch als «Überabtastung» bezeichnet.
Tatsächlich sind zwei Schritte notwendig:
- Erzeugung von Datenmaterial in höherer Auflösung
- Anschließende Reduktion, womit Farbmittelwerte entstehen.
Die Buttons für die Oversamplingrate befinden sich unter dem Render Button 1 .
- Höhere Werte produzieren eine bessere Kantenansicht, benötigen aber auch länger für die Berechnung.
Grundsätzlich wird in Blender eine feste Verteilung der Pixel beim Oversampling erzeugt.
Zwei Bedingungen müssen dabei erfüllt sein.
- Jedes Sample muss einen gleichen Abstand zu seinen Nachbarn haben.
- Die Samples müssen alle Subpixelpositionen sowohl horizontal als auch vertikal bedecken.
In den nebenstehenden Bildern wird das Verteilungsmuster bei 5, 8, 11 und 16 Samples gezeigt. In einem zweiten Rechenschritt werden nun die Farb- und Alphawerte der Samples auf das ursprüngliche Pixel zurück gerechnet.
Filtermethoden
BearbeitenDie Einstellungen für die Filtermethoden werden in dem Panel Render vorgenommen. 2
Die einfachste Methode die Pixel neu zu berechnen besteht darin, einfach einen Mittelwert aller Samples zu bilden. Dieses Verfahren wird „Box Filter“ genannt. Das Verfahren hat den Nachteil, dass es den Einfluss der Samples auf benachbarte Pixel völlig außer Acht lässt.
- Box: Der ursprüngliche Filter in Blender mit einer relativ schlechten Qualität.
- Tent: Ein einfacher Filter, der aber gute Ergebnisse zeigt.
- Quad: Filtert nach einer quadratischen Kurve.
- Cubic: Kubische Kurve.
- Gauss: Filtert nach einer Gausschen Verteilungskurve - erzeugt verhältnismäßig verschwommene Ergebnisse.
- CatRom: Catmull Filter - erzeugt die schärfsten Kanten.
- Mitch: Mitchell-Netravali - ein guter Allroundfilter mit scharfen Kanten.
Die Filterwerte können Sie in dem NumButton daneben einstellen. Werte kleiner als 1 verschieben die Samples mehr in den Pixelmittelpunkt und erzeugen verschwommene Ergebnisse, Werte größer als 1 erzeugen schärfere Bilder.
Die letzten beiden Filter können auch negative Werte erhalten, was zu besonders geschärften Ergebnissen führt.
Der voreingestellte Wert Gauss ist nicht die beste der angebotenen Lösungen. Wechseln Sie lieber auf Mitchell-Netravali oder CatRom
Aufgrund der geringen Pixelauflösung am Bildschirm soll an dieser Stelle auf Beispielbilder verzichtet werden, da sie m.M.n. nicht besonders aussagekräftig sind. Wenn Sie dennoch vergleichende Bilder der unterschiedlichen Filter sehen möchten, können Sie dies hier auf der englischen Originalseite dieses Artikels tun.
Skalieren als Alternative zu AntiAliasing (AA)
BearbeitenAls Ton auf der letzten Siggraph die Leute von ILM fragte, wie sie denn die Probleme mit AA in den Griff bekämen, antworteten sie: "Wir rendern alle Bilder mit doppelter Seitenlänge und skalieren sie runter." (Entnommen aus einem Beitrag auf Blenderartists)
Wie Sie den Ausführungen oben entnehmen konnten, muss ein großer Aufwand getrieben werden, um die Treppchenbildung an scharfen Kanten zu beheben. Ein sehr simpler aber dennoch wirkungsvoller Weg dieses Problem zu umgehen ist, alle Bilder ohne AA in der doppelten Größe zu rendern, oder um präzise zu sein mit doppelter Kantenlänge. In Abb.5 können Sie sehen, dass Sie das Bild auf ein viertel der Originalgröße verkleinern müssen, um ein wirkungsvolles AA zu erreichen.