Freigeben über


D3DXTANGENT-Enumeration

Definiert Einstellungen, die für Berechnungen von Gittertangenrahmen 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 Texture Wrapping (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 Texture Wrapping (Direct3D 9).

D3DXTANGENT_WRAP_UV

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

D3DXTANGENT_DONT_NORMALIZE_PARTIALS

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

D3DXTANGENT_DONT_ORTHOGONALIZE

Transformieren Sie Texturkoordinaten nicht in orthogonale kartesische Koordinaten. Schließen Sie sich mit D3DXTANGENT_ORTHOGONALIZE_FROM_U und D3DXTANGENT_ORTHOGONALIZE_FROM_V gegenseitig aus.

D3DXTANGENT_ORTHOGONALIZE_FROM_V

Berechnen Sie die partielle Ableitung in Bezug auf die 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 Sie sich mit D3DXTANGENT_DONT_ORTHOGONALIZE und D3DXTANGENT_ORTHOGONALIZE_FROM_U gegenseitig aus.

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 Sie sich mit D3DXTANGENT_DONT_ORTHOGONALIZE und D3DXTANGENT_ORTHOGONALIZE_FROM_V gegenseitig aus.

D3DXTANGENT_WEIGHT_BY_AREA

Gewichtung der Richtung des berechneten normalen oder partiellen abgeleiteten Vektors pro Vertex gemäß den dreieckigen Bereichen, 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 Einheitslänge für jedes Dreieck des Eingabegitters. Schließen Sie sich mit D3DXTANGENT_WEIGHT_BY_AREA gegenseitig aus.

D3DXTANGENT_WIND_CW

Scheitelpunkte werden im Uhrzeigersinn um jedes Dreieck angeordnet. Die berechnete Normalvektorrichtung wird daher um 180 Grad von der Richtung invertiert, die mit der Vertexreihenfolge gegen den Uhrzeigersinn berechnet wird.

D3DXTANGENT_CALCULATE_NORMALS

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

D3DXTANGENT_GENERATE_IN_PLACE

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

Anforderungen

Anforderung Wert
Header
D3dx9mesh.h

Siehe auch

D3DX-Enumerationen

D3DXComputeTangentFrameEx