Bagikan melalui


Fungsi D3DXComputeTangent

Menghitung vektor tangen untuk koordinat tekstur yang diberikan dalam tahap tekstur. Disediakan untuk mendukung aplikasi warisan. Gunakan D3DXComputeTangentFrameEx untuk hasil yang lebih baik.

Sintaks

HRESULT D3DXComputeTangent(
  _In_       LPD3DXMESH Mesh,
  _In_       DWORD      TexStageIndex,
  _In_       DWORD      TangentIndex,
  _In_       DWORD      BinormIndex,
  _In_       DWORD      Wrap,
  _In_ const DWORD      *pAdjacency
);

Parameter

Jala [in]

Jenis: LPD3DXMESH

Arahkan ke antarmuka ID3DXMesh yang mewakili jala input.

TexStageIndex [in]

Jenis: DWORD

Indeks yang mewakili tahap tekstur.

TangentIndex [in]

Jenis: DWORD

Indeks yang menyediakan indeks penggunaan untuk data tangen. Deklarasi puncak menyiratkan penggunaan; indeks ini memodifikasi penggunaan dengan indeks penggunaan. Untuk informasi selengkapnya tentang deklarasi puncak, lihat Deklarasi Puncak (Direct3D 9).

BinormIndex [in]

Jenis: DWORD

Indeks yang menyediakan indeks penggunaan untuk data binormal. Deklarasi puncak menyiratkan penggunaan; indeks ini memodifikasi penggunaan dengan indeks penggunaan. Untuk informasi selengkapnya tentang deklarasi puncak, lihat Deklarasi Puncak (Direct3D 9).

Bungkus [in]

Jenis: DWORD

Atur nilai ini ke 0 tanpa pembungkusan, atau ke 1 untuk membungkus arah Anda dan V.

pAdjacency [in]

Jenis: const DWORD*

Penunjuk ke array tiga DWORD per wajah yang akan diisi dengan indeks wajah yang berdampingan. Jumlah byte dalam array ini harus setidaknya ((3 * GetNumFaces) * sizeof(DWORD)).

Menampilkan nilai

Jenis: HRESULT

Jika fungsi berhasil, nilai yang dikembalikan S_OK. Jika fungsi gagal, nilai yang dikembalikan dapat berupa salah satu hal berikut: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Keterangan

Jika deklarasi puncak jala menentukan bidang tangen atau binormal, D3DXComputeTangent akan memperbarui data tangen atau binormal yang disediakan pengguna. Atau, atur TangentIndex ke D3DX_DEFAULT untuk tidak memperbarui data tangen yang disediakan pengguna, atau atur BinormIndex ke D3DX_DEFAULT untuk tidak memperbarui data binormal yang disediakan pengguna. TexStageIndex tidak dapat diatur ke D3DX_DEFAULT.

D3DXComputeTangent tergantung pada deklarasi puncak jala yang berisi bidang binormal (BinormIndex), bidang tangen (TangentIndex), atau keduanya. Jika keduanya hilang, fungsi ini akan gagal.

Fungsi ini hanya memanggil D3DXComputeTangentFrameEx dengan parameter input berikut:

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);

Persyaratan

Persyaratan Nilai
Header
D3DX9Mesh.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi Jala