Graphics Reference
In-Depth Information
Abb. 9.14 Aufteilung
einer Facette
Mit den Steigungsdaten dv ik lässt sich Anfang und Ende des Innenbereichs der
Facette einstellen, d. h., den Start- und Endpunkt der Scanline festlegen. In die-
sem Bereich sind für jedes Pixel die Tiefenwerte der projizierten Teilfläche mittels
ihrer Ebengleichung zu berechnen. Mit dem durch die Skalierung modifizierten
Koordinatentripel liefern die Ebenengleichungen entsprechend größere und besser
differenzierte Tiefen und rechtfertigen damit erst ihre Speicherung als ganzzahligen
2-Byte-Wert.
Die Ebenengleichung einer dreieckigen Facette lässt sich mit den Koordinaten
ihrer Eckpunkte leicht bestimmen; siehe Abschn. 11.3.5 . Für unsere Belange genügt
die Grundform der Ebenengleichung, für die in Projektionskoordinaten gilt:
A x C B y C C z C D D 0
mit
A D . y 2 y 1 / . z 3 z 1 / . y 3 y 1 / . z 2 z 1 /
B D . z 2 z 1 / . x 3 x 1 / . z 3 z 1 / . x 2 x 1 /
C D . x 2 x 1 / . y 3 y 1 / . x 3 x 1 / . y 2 y 1 /
D D. A P 1x C B P 1y C C P 1z /
hieraus die Tiefe
z D. A x C B y C D /= C
Da die Ebenengleichung in allen 3 Koordinaten linear ist, sind auch die Tiefen z
benachbarter Punkte linear abhängig; etwa
z neu D z alt C
z
Für den Nachbarpunkt y C y auf der Scanline gilt dann folgende Ebenengleichung:
A x C B . y C y / C C . z alt C z / C D D 0
dies ausmultipliziert und umgestellt ergibt
. A x C B y C C z alt C D / C B y C C z D 0
wobei der Klammerausdruck die ursprüngliche Ebenengleichung darstellt und so-
mit D 0 ist. Die Änderung der Z-Tiefe zum Nachbarpunkt y C y ist also
z D y B = C
Search WWH ::




Custom Search