D3DXComputeTangent-Funktion
Berechnet die Tangenten Vektoren für die in der Textur Phase angegebenen Texturkoordinaten. Wird zur Unterstützung von Legacy Anwendungen bereitgestellt. Verwenden Sie D3DXComputeTangentFrameEx , um bessere Ergebnisse zu erzielen.
Syntax
HRESULT D3DXComputeTangent(
_In_ LPD3DXMESH Mesh,
_In_ DWORD TexStageIndex,
_In_ DWORD TangentIndex,
_In_ DWORD BinormIndex,
_In_ DWORD Wrap,
_In_ const DWORD *pAdjacency
);
Parameter
-
Mesh [ in]
-
Typ: LPD3DXMESH
Zeiger auf eine ID3DXMesh -Schnittstelle, die das Eingabe Mesh darstellt.
-
Texstagumdex [ in]
-
Typ: DWORD
Der Index, der die Textur Phase darstellt.
-
Tangentindex [ in]
-
Typ: DWORD
Index, der den Verwendungs Index für die Tangens Daten bereitstellt. Die Vertex-Deklaration impliziert die Verwendung. Dieser Index ändert die Verwendung mit dem Verwendungs Index. Weitere Informationen zu einer Scheitelpunkt Deklaration finden Sie unter Vertex-Deklaration (Direct3D 9).
-
Binormindex [ in]
-
Typ: DWORD
Index, der den Verwendungs Index für die Binärdaten bereitstellt. Die Vertex-Deklaration impliziert die Verwendung. Dieser Index ändert die Verwendung mit dem Verwendungs Index. Weitere Informationen zu einer Scheitelpunkt Deklaration finden Sie unter Vertex-Deklaration (Direct3D 9).
-
Umbruch [ in]
-
Typ: DWORD
Legen Sie diesen Wert auf 0 (null) fest, um keine Umbrüchen zu erhalten.
-
padjacency [ in]
-
Typ: Konstante DWORD *
Ein Zeiger auf ein Array von drei DWORDs pro Gesicht, das mit angrenzenden Gesichts Indizes aufgefüllt werden soll. Die Anzahl der Bytes in diesem Array muss mindestens ((3 * getnumgesichter) * sizeof (DWORD)) betragen.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ausgeführt wird, ist der Rückgabewert S _ OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR _ invalidcall, D3DXERR _ InvalidData, E _ oudefmemory.
Bemerkungen
Wenn die Mesh-Vertex-Deklaration Tangens-oder Binormale-Felder angibt, aktualisiert D3DXComputeTangent alle vom Benutzer bereitgestellten Tangens-oder Binärdaten. Alternativ können Sie tangentindex auf D3DX _ default festlegen, um die vom Benutzer bereitgestellten Tangens Daten nicht zu aktualisieren, oder binormindex auf D3DX default festlegen, _ um die vom Benutzer bereitgestellten Binärdaten nicht zu aktualisieren. Texstageindex kann nicht auf D3DX Default festgelegt werden _ .
D3DXComputeTangent hängt von der Mesh-Vertexdeklaration ab, die entweder das Binormal-Feld (binormindex), das Tangens Feld (tangentindex) oder beides enthält. Wenn beide fehlen, schlägt diese Funktion fehl.
Diese Funktion ruft einfach D3DXComputeTangentFrameEx mit den folgenden Eingabe Parametern auf:
D3DXComputeTangentFrameEx( Mesh,
D3DDECLUSAGE_TEXCOORD,
TexStageIndex,
( BinormIndex == D3DX_DEFAULT ) ?
D3DX_DEFAULT : D3DDECLUSAGE_BINORMAL,
// provides backward function compatibility
BinormIndex,
( TangentIndex == D3DX_DEFAULT ) ?
D3DX_DEFAULT : D3DDECLUSAGE_TANGENT,
TangentIndex,
D3DX_DEFAULT, // do not store normals
0,
( Wrap ? D3DXTANGENT_WRAP_UV : 0 )
| D3DXTANGENT_GENERATE_IN_PLACE
| D3DXTANGENT_ORTHOGONALIZE_FROM_U,
pAdjacency,
-1.01f,
-0.01f,
-1.01f,
NULL,
NULL);
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|