D3DXTANGENT-Enumeration

Definiert Einstellungen, die für Gitter-Tangensframeberechnungen verwendet werden.

Syntax

typedef enum D3DXTANGENT { 
  D3DXTANGENT_WRAP_U                   = 0x01,
  D3DXTANGENT_WRAP_V                   = 0x02,
  D3DXTANGENT_WRAP_UV                  = 0x03,
  D3DXTANGENT_DONT_NORMALIZE_PARTIALS  = 0x04,
  D3DXTANGENT_DONT_ORTHOGONALIZE       = 0x08,
  D3DXTANGENT_ORTHOGONALIZE_FROM_V     = 0x010,
  D3DXTANGENT_ORTHOGONALIZE_FROM_U     = 0x020,
  D3DXTANGENT_WEIGHT_BY_AREA           = 0x040,
  D3DXTANGENT_WEIGHT_EQUAL             = 0x080,
  D3DXTANGENT_WIND_CW                  = 0x0100,
  D3DXTANGENT_CALCULATE_NORMALS        = 0x0200,
  D3DXTANGENT_GENERATE_IN_PLACE        = 0x0400
} D3DXTANGENT, *LPD3DXTANGENT;

Konstanten

D3DXTANGENT _ WRAP _ U

Texturkoordinatenwerte in u-Richtung liegen zwischen 0 und 1. In diesem Fall wird ein Texturkoordinatensatz ausgewählt, der den Umkreis des Dreiecks minimiert. Weitere Informationen finden Sie unter Texturumbruch (Direct3D 9).

D3DXTANGENT _ WRAP _ V

Texturkoordinatenwerte in v-Richtung liegen zwischen 0 und 1. In diesem Fall wird ein Texturkoordinatensatz ausgewählt, der den Umkreis des Dreiecks minimiert. Weitere Informationen finden Sie unter Texturumbruch (Direct3D 9).

D3DXTANGENT _ WRAP _ UV

Texturkoordinatenwerte in Sie- und v-Richtung liegen zwischen 0 und 1. In diesem Fall wird ein Texturkoordinatensatz ausgewählt, der den Umkreis des Dreiecks minimiert. Weitere Informationen finden Sie unter Texturumbruch (Direct3D 9).

D3DXTANGENT _ DONT _ NORMALIZE _ PARTIALS

Normalisieren Sie partielle Ableitungen nicht in Bezug auf Texturkoordinaten. Wenn dies nicht normalisiert ist, ist die Skala der partiellen Ableitungen proportional zur Skala des 3D-Modells dividiert durch die Skala des Dreiecks im Raum (u, v). Dieser Skalierungswert gibt ein Maß dafür an, wie viel die Textur in einer bestimmten Richtung gestreckt wird. Die resultierende Vektorlänge ist eine gewichtete Summe der Längen der partiellen Ableitungen.

D3DXTANGENT _ DONT _ ORTHOGONALIZE

Transformieren Sie Texturkoordinaten nicht in orthogonale kartesische Koordinaten. Schließen Sich gegenseitig aus mit D3DXTANGENT _ ORTHOGONALIZE _ FROM you und _ D3DXTANGENT _ ORTHOGONALIZE _ FROM _ V.

D3DXTANGENT _ ORTHOGONALIZE _ FROM _ V

Berechnen Sie die partielle Ableitung in Bezug auf Texturkoordinate v unabhängig für jeden Scheitelpunkt, und berechnen Sie dann die partielle Ableitung in Bezug auf Sie als Kreuzprodukt der partiellen Ableitung in Bezug auf v und den normalen Vektor. Schließen sich gegenseitig aus mit D3DXTANGENT _ DONT _ ORTHOGONALIZE und D3DXTANGENT _ ORTHOGONALIZE _ FROM _ U.

D3DXTANGENT _ ORTHOGONALIZE _ FROM _ U

Berechnen Sie die partielle Ableitung in Bezug auf die Texturkoordinate u unabhängig für jeden Scheitelpunkt, und berechnen Sie dann die partielle Ableitung in Bezug auf v als Kreuzprodukt des normalen Vektors und der partiellen Ableitung in Bezug auf Sie. Schließen Sich gegenseitig aus mit D3DXTANGENT _ DONT _ ORTHOGONALIZE und D3DXTANGENT _ ORTHOGONALIZE _ FROM _ V.

D3DXTANGENT _ GEWICHTUNG _ NACH _ BEREICH

Gewichten Sie die Richtung des berechneten normalen oder partiellen abgeleiteten Vektors pro Scheitelpunkt entsprechend den Bereichen der Dreiecke, die an diesen Scheitelpunkt angefügt sind. Schließen sie sich mit D3DXTANGENT _ WEIGHT _ EQUAL gegenseitig aus.

D3DXTANGENT _ WEIGHT _ EQUAL

Berechnen Sie einen Normalvektor mit Einheitenlänge für jedes Dreieck des Eingabegitters. Schließen sich mit D3DXTANGENT _ WEIGHT BY AREA gegenseitig _ _ aus.

D3DXTANGENT _ WIND _ CW

Scheitelungen werden im Uhrzeigersinn um jedes Dreieck herum geordnet. Die berechnete normaler Vektorrichtung wird daher um 180 Grad von der Richtung umgekehrt, die mithilfe der umgekehrten Scheitelpunkt reihenfolge berechnet wird.

D3DXTANGENT _ _ NORMALS BERECHNEN

Berechnen Sie den normalen Vektor pro Scheitelpunkt für jedes Dreieck des Eingabegitters, und ignorieren Sie alle normalen Vektoren, die bereits im Eingabegitternetz vorhanden sind.

D3DXTANGENT _ GENERATE AN ORT UND _ _ STELLE

Die Ergebnisse werden im ursprünglichen Eingabegitter gespeichert, und das Ausgabegitternetz wird nicht verwendet.

Anforderungen

Anforderung Wert
Header
D3dx9mesh.h

Weitere Informationen

D3DX-Enumerationen

D3DXComputeTangentFrameEx