Graphics Reference
In-Depth Information
10.3 Interpolation bei Texturen
Ausgehend von diskreten Texturen - also Bildern - ist nicht zu erwarten, dass jedes
Texel genau einem Pixel der Grafik zugeordnet werden kann. Nun kann man so-
wohl für die Texel als auch für die Pixel endliche Größe annehmen (im Raster ihrer
jeweiligen Auflösung Dots
=
inch), sodass Über- oder Unterschneidungen der Nor-
malfall sind. Um aus den Farbwerten der angrenzenden Texel einen Farbwert für
den Pixel zu bestimmen, muss ggf. zwischen mehreren Texel-Farben interpoliert
werden. Geordnet nach zunehmendem Rechenaufwand kommt hierfür infrage:
Den Farbwert des nächstliegenden Texels zu verwenden. Dies ist die simpelste
Methode, sie wird als nearest neighbor oder auch point sampling bezeichnet.
Den Farbwert aus den vier angrenzenden Texeln durch bilineares Filtern zu in-
terpolieren (abhängig von der Auflösung Dots = inch).
Mittels Gauß-Filter weitere Texel in die Berechnung unter Wichtung ihrer Ent-
fernung zum Pixel mit einbeziehen.
Beim Interpolieren ist Vorsicht geboten! Unerwünschte Alias-Effekte stehen meist
in Zusammenhang mit der Interpolation von Texturwerten. Aufwendige Interpola-
tionen vermindern in der Regel übermäßige Artefaktbildung, können sie aber nicht
ganz verhindern.
Den nächstgelegenen Nachbarn zu finden erfordert auch schon eine Reihe von
Abfragen zwischen den Textur- und Pixelkoordinaten. Die „richtige“ Texel-Farbe
dem Pixel zuzuordnen bleibt mit dieser Methode problematisch. Bei der bilinea-
ren Interpolation ist zwar der Rechenaufwand etwas größer, aber sie liefert bessere
Bilder und wird deshalb meist angewandt und funktioniert wie folgt:
Ein Pixel P liegt im Normalfall inmitten eines Texel T u ; v bis T u C 1 ; v C 1 .Der
Texturwert für P wird durch lineare Interpolation in u- und v-Richtung wie in
Abb. 10.14 dargestellt ermittelt.
Das Ergebnis der Texturierung ist stark abhängig vom Rasterabstand der Pixel
bzgl. der Textur. Wenn ein Texel mehrere Pixel überdeckt, ist die Farbzuordnung
problemlos, jedes überdeckte Pixel bekommt die Farbe des Texel; siehe Abb. 10.15
links. Im umgekehrten Fall, wenn ein Pixel mehrere Texel überdeckt, kann man nur
die „mittlere“ Farbe aller überdeckten Texel für das Pixel verwenden. Das Ganze
Abb. 10.14 Ermittlung des Texturwerts durch lineare Interpolation
Search WWH ::




Custom Search