ID3DXPRTEngine :: ClosestRayIntersects, méthode

Utilise l’efficacité du traçage de rayon dans les simulations de transfert luminance (PRT) précalculées pour déterminer si un rayon croise une maille. Si une intersection est trouvée, la méthode retourne l’index du trait de filet le plus proche atteint par le rayon et les coordonnées Barycentric du point d’intersection.

Syntaxe

BOOL ClosestRayIntersects(
  [in]  const D3DXVECTOR3 *pRayPos,
  [in]  const D3DXVECTOR3 *pRayDir,
  [in]        DWORD       *pFaceIndex,
  [out]       FLOAT       *pU,
  [out]       FLOAT       *pV,
  [out]       FLOAT       *pDist
);

Paramètres

pRayPos [ dans]

Type : const D3DXVECTOR3 *

Pointeur vers une structure D3DXVECTOR3 , en spécifiant le point de départ du rayon.

pRayDir [ dans]

Type : const D3DXVECTOR3 *

Pointeur vers une structure D3DXVECTOR3 , en spécifiant la direction normalisée du rayon.

pFaceIndex [ dans]

Type : DWORD*

Pointeur vers l’index du visage de maillage actuel qui est atteint pour la première fois par le rayon donné, en se basant sur l’empilement de tous les visages de maillage de blocage devant le maillage actuel.

pu [ à]

Type : float*

Pointeur vers une coordonnée d’accès Barycentric, U, pour le vertex 0 du triangle.

PV [ à]

Type : float*

Pointeur vers une coordonnée d’accès Barycentric, V, pour le vertex 1 du triangle.

pDist [ à]

Type : float*

Pointeur désignant la distance entre le point d’intersection et le rayon.

Valeur de retour

Type : bool

Retourne la valeur true si le rayon croise le maillage actuel ; Sinon, retourne false.

Notes

Utilisez ID3DXPRTEngine :: SetMinMaxIntersection pour définir les distances minimale et maximale de l’intersection avec le rayon.

La coordonnée Barycentric du troisième vertex (Vertex 2) du triangle est 1-(U + V).

Cette méthode s’exécute plus lentement que ID3DXPRTEngine :: ShadowRayIntersects. Utilisez ID3DXPRTEngine :: ShadowRayIntersects si l’emplacement du point d’intersection n’est pas nécessaire.

Les coordonnées Barycentric définissent un point à l’intérieur d’un triangle en termes de sommets du triangle. Pour une description plus détaillée des coordonnées Barycentric, consultez la description des coordonnées Barycentric de MathWorld.

Spécifications

Condition requise Valeur
En-tête
D3DX9Mesh. h
Bibliothèque
D3dx9. lib

Voir aussi

ID3DXPRTEngine

ID3DXPRTEngine::ShadowRayIntersects

ID3DXPRTEngine::SetMinMaxIntersection