Share via


Funzione D3DXIntersectTri (D3DX9Mesh.h)

Calcola l'intersezione di un raggio e un triangolo.

Sintassi

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

Parametri

p0 [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , che descrive la prima posizione del vertice triangolo.

p1 [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , che descrive la seconda posizione del vertice triangolo.

p2 [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , che descrive la terza posizione del vertice triangolo.

pRayPos [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , specificando il punto in cui inizia il raggio.

pRayDir [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , specificando la direzione del raggio.

pU [out]

Tipo: FLOAT*

Coordinate di hit barycentriche, U.

pV [out]

Tipo: FLOAT*

Coordinate di hit barycentriche, V.

pDist [out]

Tipo: FLOAT*

Distanza del parametro ray-intersezione.

Valore restituito

Tipo: BOOL

Restituisce TRUE se il raggio interseca l'area del triangolo. In caso contrario, restituisce FALSE.

Commenti

La funzione D3DXIntersect consente di comprendere i punti in e intorno a un triangolo, indipendentemente dalla posizione in cui si trova effettivamente il triangolo. Questa funzione restituisce il punto risultante usando l'equazione seguente: V1 + U(V2 - V1) + V(V3 - V1).

Qualsiasi punto nel piano V1V2V3 può essere rappresentato dalla coordinata barycentrica (U,V). Il parametro U controlla la quantità di V2 ponderata nel risultato e il parametro V controlla la quantità di V3 ponderata nel risultato. Infine, il valore di [1 - (U + V)] controlla la quantità di V1 ponderata nel risultato.

Le coordinate barycentriche sono una forma di coordinate generali. In questo contesto, l'uso di coordinate barycentriche rappresenta una modifica nei sistemi di coordinate. Ciò che contiene true per le coordinate cartesiane contiene true per le coordinate barycentriche.

Le coordinate barycentriche definiscono un punto all'interno di un triangolo in termini di vertici del triangolo. Per una descrizione più approfondita delle coordinate barycentriche, vedere Descrizione coordinate barycentriche di Mathworld.

Requisiti

Requisito Valore
Intestazione
D3DX9Mesh.h
Libreria
D3dx9.lib

Vedi anche

Funzioni mesh