Freigeben über


Formeln für bump mappings (Direct3D 9)

Direct3D wendet die folgenden Formeln auf die DU - und DV-Komponenten in jedem Bump Map-Pixel an.

Formeln von Transformationen der Bump mapping-Matrix

In diesen Formeln werden die Variablen DU und DV direkt aus einem Bump Map-Pixel entnommen und von einer 2x2-Matrix transformiert, um die Ausgabedeltawerte DU' und DV' zu erzeugen. Das System verwendet die Ausgabewerte, um die Texturkoordinaten zu ändern, die die Umgebungszuordnung in der nächsten Texturphase adressieren. Die Koeffizienten der Transformationsmatrix werden über die D3DTSS_BUMPENVMAT00-, D3DTSS_BUMPENVMAT10-, D3DTSS_BUMPENVMAT01- und D3DTSS_BUMPENVMAT11 Texturstufenzustände festgelegt.

Zusätzlich zu den You- und v-Delta-Werten kann das System einen Luminanzwert berechnen, der verwendet wird, um die Farbe der Umgebungszuordnung in der nächsten Mischphase zu modulieren, wie in der folgenden Formel gezeigt.

Formel für die Ausgabeleuchtigkeit, berechnet aus Skalierungsfaktor und Offset

In dieser Formel ist L' die Ausgabeleuchtigkeit, die berechnet wird. Die L-Variable ist der Luminanzwert eines Bump Map-Pixels, der mit dem Skalierungsfaktor S und dem Offset mit dem Wert in der Variablen O multipliziert wird. Die D3DTSS_BUMPENVLSCALE- und D3DTSS_BUMPENVLOFFSET Texturstufenzustände steuern die Werte für die Variablen S und O in der Formel. Diese Formel wird nur angewendet, wenn der Texturmischungsvorgang für die Phase, die die Bumpmap enthält, auf D3DTOP_BUMPENVMAPLUMINANCE festgelegt ist. Bei Verwendung von D3DTOP_BUMPENVMAP verwendet das System den Wert 1,0 für L'.

Nach dem Berechnen der Ausgabedeltawerte DU' und DV' fügt das System sie den Texturkoordinaten in der nächsten Texturphase hinzu und moduliert die ausgewählte Farbe durch die Helligkeit, um die auf das Polygon angewendete Farbe zu erzeugen.

Bump Mapping