Supersampling

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Supersampling ist eine Methode um die Aliasing Effekte zu verringern. Dabei werden, anstatt ein Pixel direkt zu berechnen, mehrere SubPixel berechnet, deren gemittelter Farbwert dann die Farbe des Zielpixels ergibt. Man kann alternativ auch sagen, dass das Zielbild in einer höhren Auflösung erzeugt wird und dann auf die Zielgröße verkleinert wird. Dadurch wird vor allem an den Kanten von Polygonen der Treppeneffekt verringert. Allerdings erscheint das Bild auch unschärfer, denn die Verkleinerung des Zwischenbildes mit der höheren Auflösung entspricht mathematisch einer Tiefpassfilterung, welche eben die hohen Frequenzen (welche scharfe Kanten erzeugen) entfernt.

Damit Supersampling gut (=besser als kein Supersampling) aussieht, muss die intern berechnete Bildhöhe ein ganzzahliges Vielfaches von der dargestellten Höhe sein. Das Gleiche gilt für die Breite. Wenn beispielsweise der Bildschirm eine Auflösung von 1600x900 Pixeln hat, würden folgende interne Auflösungen zu guten Ergebnissen führen: 3200x900, 1600x1800, 3200x1800, 4800x2700, 6400x3600 und so weiter. Schlecht wäre hingegen z.B. 1920x1080, da dies der 1,2fachen Auflösung entspricht.

Beispiel

In diesem Beispiel sollen zwei Polygone dargestellt werden. Bei der normalen Darstellung wird die Farbe des Pixels durch die Farbe des Polygons im Mittelpunkt des Pixels bestimmt. An den Kanten der Polygone entsteht dadurch der Treppeneffekt.

SuperSampling1.png

Wird nun jedes Pixel in ein 2x2 Raster unterteilt und die Farbe entsprechend den neuen Mittelpunkten berechnet, dann ergibt sich folgendes Bild:

SuperSampling2.png

Die endgültige Farbe ergibt sich nun aus dem Mittel jedes 2x2 Rasters. Dabei entstehen entlang der Trennungslinie zwischen den Polygonen Mischfarben.

SuperSampling3.png

Siehe auch

Ein ähnliches Verfahren ist das Multisampling.