Share via


Função D3DXIntersectTri (D3DX9Mesh.h)

Calcula a interseção de um raio e um triângulo.

Sintaxe

BOOL D3DXIntersectTri(
  _In_  const D3DXVECTOR3 *p0,
  _In_  const D3DXVECTOR3 *p1,
  _In_  const D3DXVECTOR3 *p2,
  _In_  const D3DXVECTOR3 *pRayPos,
  _In_  const D3DXVECTOR3 *pRayDir,
  _Out_       FLOAT       *pU,
  _Out_       FLOAT       *pV,
  _Out_       FLOAT       *pDist
);

Parâmetros

p0 [in]

Tipo: const D3DXVECTOR3*

Ponteiro para uma estrutura D3DXVECTOR3 , descrevendo a primeira posição de vértice de triângulo.

p1 [in]

Tipo: const D3DXVECTOR3*

Ponteiro para uma estrutura D3DXVECTOR3 , descrevendo a segunda posição de vértice do triângulo.

p2 [in]

Tipo: const D3DXVECTOR3*

Ponteiro para uma estrutura D3DXVECTOR3 , descrevendo a terceira posição de vértice do triângulo.

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 do raio.

pU [out]

Tipo: FLOAT*

Coordenadas de clique barycentric, U.

pV [out]

Tipo: FLOAT*

Coordenadas de clique barycentric, V.

pDist [out]

Tipo: FLOAT*

Distância do parâmetro de interseção de raios.

Valor retornado

Tipo: BOOL

Retorna TRUE se o raio cruza a área do triângulo. Caso contrário, retornará FALSE.

Comentários

A função D3DXIntersect fornece uma maneira de entender pontos dentro e ao redor de um triângulo, independentemente de onde o triângulo está realmente localizado. Essa função retorna o ponto resultante usando a seguinte equação: V1 + U(V2 – V1) + V(V3 – V1).

Qualquer ponto no plano V1V2V3 pode ser representado pela coordenada barycentric (U,V). O parâmetro U controla a quantidade de V2 ponderada no resultado e o parâmetro V controla a quantidade de V3 ponderada no resultado. Por fim, o valor de [1 - (U + V)] controla a quantidade de V1 ponderada no resultado.

As coordenadas barycentric são uma forma de coordenadas gerais. Nesse contexto, o uso de coordenadas barycentric representa uma alteração nos sistemas de coordenadas. O que vale para as coordenadas Cartesianas vale para coordenadas barycentricas.

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
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

Funções de malha