Método ID3DXPRTEngine::ClosestRayIntersects
Usa o rastreamento de raio eficiente em simulações de PRT (transferência de radiação pré-computada) para determinar se um raio cruza uma malha. Se uma interseção for encontrada, o método retornará o índice da face de malha mais próxima atingida pelo raio e pelas coordenadas barycentricas do ponto de interseção.
Sintaxe
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*
Ponteiro para uma estrutura D3DXVECTOR3 , especificando o ponto em que o raio começa.
-
pRayDir [in]
-
Tipo: const D3DXVECTOR3*
Ponteiro para uma estrutura D3DXVECTOR3 , especificando a direção normalizada do raio.
-
pFaceIndex [in]
-
Tipo: DWORD*
Ponteiro para o índice da face da malha atual que é atingida pela primeira vez pelo raio fornecido, com base no empilhamento de todas as faces de malha do bloqueador na frente da malha atual.
-
pU [out]
-
Tipo: FLOAT*
Ponteiro para uma coordenada de clique barycentric, U, para o vértice 0 do triângulo.
-
pV [out]
-
Tipo: FLOAT*
Ponteiro para uma coordenada de clique barycentric, V, para o vértice 1 do triângulo.
-
pDist [out]
-
Tipo: FLOAT*
Ponteiro para a distância do ponto de interseção ao longo do raio.
Valor retornado
Tipo: BOOL
Retorna TRUE se o raio cruza a malha atual; caso contrário, retornará FALSE.
Comentários
Use ID3DXPRTEngine::SetMinMaxIntersection para definir distâncias mínimas e máximas de interseção com o raio.
A coordenada barycentrica do terceiro vértice (vértice 2) do triângulo é 1 - ( U + V ).
Esse método é executado mais lento que ID3DXPRTEngine::ShadowRayIntersects. Use ID3DXPRTEngine::ShadowRayIntersects se o local do ponto de interseção não for necessário.
As coordenadas barycentric definem um ponto dentro de um triângulo em termos dos vértices do triângulo. Para obter uma descrição mais detalhada das coordenadas barycentricas, confira Descrição das Coordenadas Barycentricas do Mathworld.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também