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