Функция D3DXIntersectTri (D3DX9Mesh.h)
Вычисляет пересечение луча и треугольника.
Синтаксис
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.
Комментарии
Функция D3DXIntersect позволяет понять точки в треугольнике и вокруг не зависят от того, где на самом деле находится треугольник. Эта функция возвращает результирующая точка с помощью следующего уравнения: V1 + U(V2 – V1) + V(V3 – V1).
Любая точка плоскости V1V2V3 может быть представлена барицентрической координатой (U,V). Параметр U определяет, сколько V2 взвешивается в результатах, а параметр V определяет, сколько V3 взвешивается в результат. Наконец, значение [1 – (U + V)] определяет, сколько V1 взвешивается в результате.
Барицентрические координаты являются формой общих координат. В этом контексте использование барицентрических координат представляет собой изменение систем координат. То, что верно для декартовых координат, верно для барицентрических координат.
Барицентрические координаты определяют точку внутри треугольника с точки зрения вершин треугольника. Более подробное описание барицентрических координат см. в разделе Описание барицентрических координат Mathworld.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел