Metodo ID3DX10Mesh::Intersect

Determina se un raggio si interseca con questa mesh.

Sintassi

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

Parametri

pRayPos [in]

Tipo: D3DXVECTOR3*

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

pRayDir [in]

Tipo: D3DXVECTOR3*

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

pHitCount [in]

Tipo: UINT*

Numero di volte in cui il raggio si interseca con la mesh.

pFaceIndex [in]

Tipo: UINT*

Puntatore a un valore di indice del viso più vicino all'origine del raggio, se pHit è TRUE.

pU [in]

Tipo: float*

Puntatore a una coordinata di hit barycentrica, U.

pV [in]

Tipo: float*

Puntatore a una coordinata di hit barycentrica, V.

pDist [in]

Tipo: float*

Puntatore a una distanza del parametro di intersezione raggio.

ppAllHits [out]

Tipo: ID3D10Blob**

Puntatore a un'interfaccia ID3D10Blob contenente una matrice di strutture D3DX10_INTERSECT_INFO . Questo è un elenco di tutti i colpi che si sono verificati nel test di intersezione.

Valore restituito

Tipo: HRESULT

Il valore restituito è uno dei valori elencati in Codici restituiti Direct3D 10.

Commenti

Questa API consente di comprendere i punti in e intorno a un triangolo, indipendentemente dalla posizione in cui si trova 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
D3DX10.h
Libreria
D3DX10.lib

Vedi anche

ID3DX10Mesh

Interfacce D3DX