Поделиться через


Функция D3DXIntersectTri (D3DX10math.h)

Примечание

Служебная библиотека D3DX устарела. Вместо этого рекомендуется использовать DirectXMath .

Вычисляет пересечение луча и треугольника.

Синтаксис

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
);

Параметры

p0 [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , описывающую положение первой вершины треугольника.

p1 [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , описывающую положение второй вершины треугольника.

p2 [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , описывающую положение третьей вершины треугольника.

pRayPos [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , указывающую точку начала луча.

pRayDir [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , указывающую направление луча.

pU [out]

Тип: FLOAT*

Барицентрические координаты попадания, U.

pV [out]

Тип: FLOAT*

Барицентрические координаты попадания, V.

pDist [out]

Тип: FLOAT*

Расстояние параметров пересечения лучей.

Возвращаемое значение

Тип: BOOL

Возвращает значение TRUE , если луч пересекается с областью треугольника. В противном случае возвращает значение FALSE.

Комментарии

Любая точка плоскости V1V2V3 может быть представлена барицентрической координатой (U,V). Параметр U определяет, сколько V2 взвешивается в результатах, а параметр V определяет, сколько V3 взвешивается в результат. Наконец, значение [1 - (U + V)] определяет, сколько V1 взвешивается в результат.

Барицентрические координаты являются формой общих координат. В этом контексте использование барицентрических координат представляет собой изменение в системах координат. То, что верно для декартовых координат, имеет значение true для барицентрических координат.

Барицентрические координаты определяют точку внутри треугольника с точки зрения вершин треугольника. Более подробное описание барицентрических координат см. в описании барицентрических координат Mathworld.

Требования

Требование Значение
Заголовок
D3DX10math.h
Библиотека
D3DX10.lib

См. также раздел

Функции сетки