Compartir a través de


Método ID3DX10Mesh::IntersectSubset

Determina si un rayo se interseca con un subconjunto de esta malla.

Sintaxis

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

Identificador de atributo que identifica el subconjunto de la malla.

pRayPos [in]

Tipo: D3DXVECTOR3*

Puntero a una estructura D3DXVECTOR3 , especificando el punto donde comienza el rayo.

pRayDir [in]

Tipo: D3DXVECTOR3*

Puntero a una estructura D3DXVECTOR3 , especificando la dirección del rayo.

pHitCount [in]

Tipo: UINT*

Número de veces que el rayo intersecó con la malla.

pFaceIndex [in]

Tipo: UINT*

Puntero a un valor de índice de la cara más cercana al origen del rayo, si pHit es TRUE.

pU [in]

Tipo: float*

Puntero a una coordenada de acierto barycéntrico, U.

pV [in]

Tipo: float*

Puntero a una coordenada de acierto barycéntrico, V.

pDist [in]

Tipo: float*

Puntero a una distancia de parámetro de intersección de rayos.

ppAllHits [out]

Tipo: ID3D10Blob**

Puntero a una interfaz ID3D10Blob que contiene una matriz de estructuras de D3DX10_INTERSECT_INFO . Se trata de una lista de todos los aciertos que se produjeron en la prueba de intersección.

Valor devuelto

Tipo: HRESULT

El valor devuelto es uno de los valores enumerados en Códigos de retorno de Direct3D 10.

Comentarios

Esta API proporciona una manera de comprender los puntos en y alrededor de un triángulo, independientemente de dónde se encuentra realmente el triángulo. Esta función devuelve el punto resultante mediante la siguiente ecuación: V1 + U(V2 - V1) + V(V3 - V1).

Cualquier punto del plano V1V2V3 se puede representar mediante la coordenada barycéntrica (U,V). El parámetro U controla cuánto se pondera V2 en el resultado y el parámetro V controla cuánto se pondera en el resultado. Por último, el valor de [1 - (U + V)] controla cuánto V1 se pondera en el resultado.

Las coordenadas barycéntricas son una forma de coordenadas generales. En este contexto, el uso de coordenadas barycéntricas representa un cambio en los sistemas de coordenadas. Lo que es cierto para las coordenadas cartesianas es true para las coordenadas barícéntricas.

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

Consulte también

ID3DX10Mesh

D3DX Interfaces