Metodo ID3DXPRTEngine::ClosestRayIntersects
Usa un'efficiente analisi dei raggi nelle simulazioni di trasferimento di raggi precompilate (PRT) per determinare se un raggio interseca una mesh. Se viene trovata un'intersezione, il metodo restituisce l'indice del viso mesh più vicino colpito dal raggio e dalle coordinate bariche del punto di intersezione.
Sintassi
BOOL ClosestRayIntersects(
[in] const D3DXVECTOR3 *pRayPos,
[in] const D3DXVECTOR3 *pRayDir,
[in] DWORD *pFaceIndex,
[out] FLOAT *pU,
[out] FLOAT *pV,
[out] FLOAT *pDist
);
Parametri
-
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 normalizzata del raggio.
-
pFaceIndex [in]
-
Tipo: DWORD*
Puntatore all'indice della superficie mesh corrente che viene prima colpita dal raggio specificato, in base all'impilamento di tutte le facce della mesh a blocchi davanti alla mesh corrente.
-
pU [out]
-
Tipo: FLOAT*
Puntatore a una coordinata di hit barycentrica, U, per il vertice 0 del triangolo.
-
pV [out]
-
Tipo: FLOAT*
Puntatore a una coordinata di hit barycentrica, V, per vertice 1 del triangolo.
-
pDist [out]
-
Tipo: FLOAT*
Puntatore alla distanza del punto di intersezione lungo il raggio.
Valore restituito
Tipo: BOOL
Restituisce TRUE se il raggio interseca la mesh corrente; in caso contrario, restituisce FALSE.
Commenti
Usare ID3DXPRTEngine::SetMinMaxIntersection per impostare le distanze minime e massime di intersezione con il raggio.
La coordinata barycentrica del terzo vertice (vertice 2) del triangolo è 1 - ( U + V ).
Questo metodo viene eseguito più lentamente rispetto a ID3DXPRTEngine::ShadowRayIntersects. Usare ID3DXPRTEngine::ShadowRayIntersects se la posizione del punto di intersezione non è necessaria.
Le coordinate bariche definiscono un punto all'interno di un triangolo in termini di vertici del triangolo. Per una descrizione più approfondita delle coordinate barycentriche, vedere Descrizione delle coordinate bariche di Mathworld.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche