Método ID3DXPRTEngine::ClosestRayIntersects
Usa un seguimiento de rayos eficaz en simulaciones de transferencia de radiancia (PRT) precaladas para determinar si un rayo interseca una malla. Si se encuentra una intersección, el método devuelve el índice de la cara de malla más cercana alcanzada por el rayo y las coordenadas barycéntricas del punto de intersección.
Sintaxis
BOOL ClosestRayIntersects(
[in] const D3DXVECTOR3 *pRayPos,
[in] const D3DXVECTOR3 *pRayDir,
[in] DWORD *pFaceIndex,
[out] FLOAT *pU,
[out] FLOAT *pV,
[out] FLOAT *pDist
);
Parámetros
-
pRayPos [in]
-
Tipo: const D3DXVECTOR3*
Puntero a una estructura D3DXVECTOR3 , especificando el punto donde comienza el rayo.
-
pRayDir [in]
-
Tipo: const D3DXVECTOR3*
Puntero a una estructura D3DXVECTOR3 , especificando la dirección normalizada del rayo.
-
pFaceIndex [in]
-
Tipo: DWORD*
Puntero al índice de la cara actual de la malla que primero golpea el rayo dado, en función de apilar todas las caras de malla bloqueadora delante de la malla actual.
-
pU [out]
-
Tipo: FLOAT*
Puntero a una coordenada de acierto barycéntrico, U, para el vértice 0 del triángulo.
-
pV [out]
-
Tipo: FLOAT*
Puntero a una coordenada de acierto barycéntrico, V, para el vértice 1 del triángulo.
-
pDist [out]
-
Tipo: FLOAT*
Puntero a la distancia del punto de intersección a lo largo del rayo.
Valor devuelto
Tipo: BOOL
Devuelve TRUE si el rayo interseca la malla actual; de lo contrario, devuelve FALSE.
Comentarios
Use ID3DXPRTEngine::SetMinMaxIntersection para establecer distancias mínimas y máximas de intersección con el rayo.
La coordenada barycéntrica del tercer vértice (vértice 2) del triángulo es 1 - ( U + V ).
Este método se ejecuta más lento que ID3DXPRTEngine::ShadowRayIntersects. Use ID3DXPRTEngine::ShadowRayIntersects si no se necesita la ubicación del punto de intersección.
Las coordenadas Barycéntricas definen un punto dentro de un triángulo en términos de los vértices del triángulo. Para obtener una descripción más detallada de las coordenadas barycéntricas, vea Descripción de coordenadas barycéntricas de Mathworld.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también