Bagikan melalui


Fungsi D3DXIntersectTri (D3DX9Mesh.h)

Menghitung persimpangan sinar dan segitiga.

Sintaks

BOOL D3DXIntersectTri(
  _In_  const D3DXVECTOR3 *p0,
  _In_  const D3DXVECTOR3 *p1,
  _In_  const D3DXVECTOR3 *p2,
  _In_  const D3DXVECTOR3 *pRayPos,
  _In_  const D3DXVECTOR3 *pRayDir,
  _Out_       FLOAT       *pU,
  _Out_       FLOAT       *pV,
  _Out_       FLOAT       *pDist
);

Parameter

p0 [in]

Jenis: const D3DXVECTOR3*

Penunjuk ke struktur D3DXVECTOR3 , yang menjelaskan posisi puncak segitiga pertama.

p1 [in]

Jenis: const D3DXVECTOR3*

Penunjuk ke struktur D3DXVECTOR3 , yang menjelaskan posisi puncak segitiga kedua.

p2 [in]

Jenis: const D3DXVECTOR3*

Penunjuk ke struktur D3DXVECTOR3 , yang menjelaskan posisi puncak segitiga ketiga.

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.

pU [out]

Jenis: FLOAT*

Koordinat hit Barycentric, U.

pV [keluar]

Jenis: FLOAT*

Koordinat hit barycentric, V.

pDist [out]

Jenis: FLOAT*

Jarak parameter ray-intersection.

Menampilkan nilai

Jenis: BOOL

Mengembalikan TRUE jika sinar bersinggungan dengan area segitiga. Jika tidak, mengembalikan FALSE.

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

Lihat juga

Fungsi Jala