Graphics Reference
In-Depth Information
Abb. 10.5 Mit Schachbretttextur überzogene Perspektivprojektion
besteht. Das ist bei Oberflächenmodellen aus (dreieckigen) ebenen Facetten immer
der Fall. Sehr viel schwieriger sind die Verhältnisse bei gekrümmten Oberflächen
wie z. B. Zylinder und Kugeln, die allerdings in Oberflächenmodellen als Primitiv
nicht vorkommen.
Am Beispiel sei die Textur-Pipeline für eine Facette erläutert, wobei davon aus-
gegangen wird, dass auf die xy-Ebene projiziert wird (und z in die Tiefe zeigt).
Die Farbe am Pixel . h i ; v i / kann nun entweder ersetzt werden durch die Farbe
derTexturvon . m i ; n i / oder auch gemischt mit der O riginalfarbe:
f Farbe g RGB D .1 k / f O gC k f T g
mit 0 k 1 . Hierin sind die Farben separat nach RGB-Komponenten zu verar-
beiten.
10.2.3 Perspektivkorrektur
Parallelprojektionen lassen sich mit dem oben beschriebenen Verfahren leicht tex-
turieren. Die Probleme beginnen bei perspektivischen Projektionen, bei denen die
Facetten scheinbar auf Fluchtpunkte zulaufen und in der Tiefe immer kleiner wer-
den. Die Texturierung mit einer konstant großen Textur führt dann zwangläufig zu
Fehlern.
In Abb. 10.5 wird ein Quadrat, bestehend aus zwei dreieckigen Facetten als Tei-
le einer Perspektivprojektion, mit einer Schachbretttextur überzogen. Das mittlere
Bild zeigt deutlich den Fehler, der durch einfache affine Transformation der Textur
auf die Pixelkoordinaten entsteht; rechts die korrekte Darstellung.
Die Schwierigkeiten resultieren aus der vorgelagerten Perspektivtransformati-
on, die jeden Knoten unter Verwendung seiner homogenen Koordinate individuell
transformiert, weswegen der lineare Zusammenhang zwischen allen Knotenkoordi-
naten verloren geht. Dies verdeutlicht nochmals z. B. eine der Transformationsma-
trizen aus den Abschn. 8.3 ff., hier für nur einen Knoten:
Search WWH ::




Custom Search