Fungsi D3DXIntersect
Menentukan apakah sinar bersinggungan dengan jala.
Sintaks
HRESULT D3DXIntersect(
_In_ LPD3DXBASEMESH pMesh,
_In_ const D3DXVECTOR3 *pRayPos,
_In_ const D3DXVECTOR3 *pRayDir,
_Out_ BOOL *pHit,
_Out_ DWORD *pFaceIndex,
_Out_ FLOAT *pU,
_Out_ FLOAT *pV,
_Out_ FLOAT *pDist,
_Out_ LPD3DXBUFFER *ppAllHits,
_Out_ DWORD *pCountOfHits
);
Parameter
-
pMesh [in]
-
Jenis: LPD3DXBASEMESH
Penunjuk ke antarmuka ID3DXBaseMesh , mewakili jala yang akan diuji.
-
pRayPos [in]
-
Jenis: const D3DXVECTOR3*
Penunjuk ke struktur D3DXVECTOR3 , menentukan titik di mana sinar dimulai.
-
pRayDir [in]
-
Jenis: const D3DXVECTOR3*
Penunjuk ke struktur D3DXVECTOR3 , menentukan arah sinar.
-
pHit [out]
-
Jenis: BOOL*
Penunjuk ke BOOL. Jika sinar berpotongan wajah segitiga pada jala, nilai ini akan diatur ke TRUE. Jika tidak, nilai ini diatur ke FALSE.
-
pFaceIndex [out]
-
Jenis: DWORD*
Penunjuk ke nilai indeks wajah yang paling dekat dengan asal sinar, jika pHit TRUE.
-
pU [out]
-
Jenis: FLOAT*
Penunjuk ke koordinat hit barycentric, U.
-
pV [keluar]
-
Jenis: FLOAT*
Penunjuk ke koordinat hit barycentric, V.
-
pDist [out]
-
Jenis: FLOAT*
Penunjuk ke jarak parameter persimpangan sinar.
-
ppAllHits [out]
-
Jenis: LPD3DXBUFFER*
Penunjuk ke objek ID3DXBuffer , yang berisi array struktur D3DXINTERSECTINFO .
-
pCountOfHits [out]
-
Jenis: DWORD*
Penunjuk ke DWORD yang berisi jumlah entri dalam array ppAllHits.
Menampilkan nilai
Jenis: HRESULT
Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan dapat berupa: E_OUTOFMEMORY.
Keterangan
Fungsi D3DXIntersect menyediakan cara untuk memahami titik dalam dan sekitar segitiga, terlepas dari di mana segitiga sebenarnya berada. Fungsi ini mengembalikan titik yang dihasilkan dengan menggunakan persamaan berikut: V1 + U(V2 - V1) + V(V3 - V1).
Setiap titik dalam bidang V1V2V3 dapat diwakili oleh koordinat barycentric (U,V). Parameter U mengontrol berapa banyak V2 yang ditimbang ke dalam hasil, dan parameter V mengontrol berapa banyak V3 yang ditimbang ke dalam hasilnya. Terakhir, nilai [1 - (U + V)] mengontrol berapa banyak V1 yang ditimbang ke dalam hasil.
Koordinat barycentric adalah bentuk koordinat umum. Dalam konteks ini, menggunakan koordinat barycentric mewakili perubahan dalam sistem koordinat. Apa yang berlaku untuk koordinat Kartesius berlaku untuk koordinat barycentric.
Koordinat barycentric mendefinisikan titik di dalam segitiga dalam hal sudut segitiga. Untuk deskripsi yang lebih mendalam tentang koordinat barycentric, lihat Deskripsi Koordinat Barycentric Mathworld.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga