Bagikan melalui


METODE ID3DX10Mesh::Intersect

Menentukan apakah sinar bersinggungan dengan jala ini.

Sintaks

HRESULT Intersect(
  [in]  D3DXVECTOR3 *pRayPos,
  [in]  D3DXVECTOR3 *pRayDir,
  [in]  UINT        *pHitCount,
  [in]  UINT        *pFaceIndex,
  [in]  float       *pU,
  [in]  float       *pV,
  [in]  float       *pDist,
  [out] ID3D10Blob  **ppAllHits
);

Parameter

pRayPos [in]

Jenis: D3DXVECTOR3*

Penunjuk ke struktur D3DXVECTOR3 , menentukan titik di mana sinar dimulai.

pRayDir [in]

Jenis: D3DXVECTOR3*

Penunjuk ke struktur D3DXVECTOR3 , menentukan arah sinar.

pHitCount [in]

Jenis: UINT*

Berapa kali sinar bersinggungan dengan jala.

pFaceIndex [in]

Jenis: UINT*

Penunjuk ke nilai indeks wajah yang paling dekat dengan asal sinar, jika pHit TRUE.

pU [in]

Jenis: float*

Penunjuk ke koordinat hit barycentric, U.

pV [in]

Jenis: float*

Penunjuk ke koordinat hit barycentric, V.

pDist [in]

Jenis: float*

Penunjuk ke jarak parameter persimpangan sinar.

ppAllHits [out]

Jenis: ID3D10Blob**

Penunjuk ke Antarmuka ID3D10Blob, yang berisi array struktur D3DX10_INTERSECT_INFO . Ini adalah daftar semua temuan yang terjadi dalam tes persimpangan.

Mengembalikan nilai

Jenis: HRESULT

Nilai yang dikembalikan adalah salah satu nilai yang tercantum dalam Direct3D 10 Return Codes.

Keterangan

API ini 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
D3DX10.h
Pustaka
D3DX10.lib

Lihat juga

ID3DX10Mesh

Antarmuka D3DX