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 |
|
Siehe auch