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 |
|
Pustaka |
|
Lihat juga