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


Функция D3DXBoxBoundProbe

Определяет, пересекается ли луч с объемом ограничивающего прямоугольника.

Синтаксис

BOOL D3DXBoxBoundProbe(
  _In_ const D3DXVECTOR3 *pMin,
  _In_ const D3DXVECTOR3 *pMax,
  _In_ const D3DXVECTOR3 *pRayPosition,
  _In_ const D3DXVECTOR3 *pRayDirection
);

Параметры

pMin [in]

Тип: const D3DXVECTOR3*

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

pMax [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , описывающую правый верхний угол ограничивающего прямоугольника. См. заметки.

pRayPosition [in]

Тип: const D3DXVECTOR3*

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

pRayDirection [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , указывающую направление луча. Этот вектор не должен быть (0,0,0), но не должен быть нормализован.

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

Тип: BOOL

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

Комментарии

D3DXboxBoundProbe определяет, пересекается ли луч с объемом ограничивающего прямоугольника, а не только с поверхностью коробки.

В D3DXboxBoundProbe передаются значения xmin, xmax, ymin, ymax, zmin и zmax. Таким образом, следующий код определяет углы ограничивающего прямоугольника.

xmax, ymax, zmax
xmax, ymax, zmin
xmax, ymin, zmax
xmax, ymin, zmin
xmin, ymax, zmax
xmin, ymax, zmin
xmin, ymin, zmax
xmin, ymin, zmin

Глубина ограничивающей рамки в направлении z — zmax — zmin, в направлении y — ymax — ymin, а в направлении x — xmax — xmin. Например, при использовании следующих минимальных и максимальных векторов, min (-1, -1, -1) и max (1, 1, 1), ограничивающий прямоугольник определяется следующим образом.

 1,  1,  1
 1,  1, -1
 1, -1,  1
 1, -1, -1
-1,  1,  1
-1,  1, -1
-1, -1,  1
-1, -1, -l

Требования

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

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

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

D3DXComputeBoundingBox