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
D3DX9Mesh. h
Bibliothek
D3dx9. lib

Siehe auch

Mesh-Funktionen