Compartilhar via


Método ID3DX10Mesh::IntersectSubset

Determina se um raio se cruza com um subconjunto dessa malha.

Sintaxe

HRESULT IntersectSubset(
  [in]  UINT        AttribId,
  [in]  D3DXVECTOR3 *pRayPos,
  [in]  D3DXVECTOR3 *pRayDir,
  [in]  UINT        *pHitCount,
  [in]  UINT        *pFaceIndex,
  [in]  float       *pU,
  [in]  float       *pV,
  [in]  float       *pDist,
  [out] ID3D10Blob  **ppAllHits
);

Parâmetros

AttribId [in]

Tipo: UINT

ID do atributo que identifica o subconjunto da malha.

pRayPos [in]

Tipo: D3DXVECTOR3*

Ponteiro para uma estrutura D3DXVECTOR3 , especificando o ponto em que o raio começa.

pRayDir [in]

Tipo: D3DXVECTOR3*

Ponteiro para uma estrutura D3DXVECTOR3 , especificando a direção do raio.

pHitCount [in]

Tipo: UINT*

O número de vezes que o raio se cruzou com a malha.

pFaceIndex [in]

Tipo: UINT*

Ponteiro para um valor de índice da face mais próxima da origem do raio, se pHit for TRUE.

pU [in]

Tipo: float*

Ponteiro para uma coordenada de clique barycentric, U.

pV [in]

Tipo: float*

Ponteiro para uma coordenada de clique barycentric, V.

pDist [in]

Tipo: float*

Ponteiro para uma distância de parâmetro de interseção de raios.

ppAllHits [out]

Tipo: ID3D10Blob**

Ponteiro para uma Interface ID3D10Blob, que contém uma matriz de estruturas de D3DX10_INTERSECT_INFO . Esta é uma lista de todos os acertos que ocorreram no teste de interseção.

Valor retornado

Tipo: HRESULT

O valor retornado é um dos valores listados em Códigos de Retorno do Direct3D 10.

Comentários

Essa API 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 barycentrica (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 barycentricas são uma forma de coordenadas gerais. Nesse contexto, o uso de coordenadas barycentricas representa uma alteração nos sistemas de coordenadas. O que vale para coordenadas cartesianas é verdadeiro para coordenadas barycentricas.

As coordenadas barycentricas 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
D3DX10.h
Biblioteca
D3DX10.lib

Confira também

ID3DX10Mesh

D3DX Interfaces