D3DXboxBoundProbe
光線がボックスの境界ボックスのボリュームに当たるかどうかを判定します。
BOOL
D3DXboxBoundProbe(
CONST D3DXVECTOR3 * pMin,
CONST D3DXVECTOR3 * pMax,
CONST D3DXVECTOR3 * pRayPosition,
CONST D3DXVECTOR3 * pRayDirection
);
パラメータ
- pMin
D3DXVECTOR3 構造体へのポインターです。境界ボックスの左下隅を示します。「解説」を参照してください。 - pMax
D3DXVECTOR3 構造体へのポインターです。境界ボックスの右上隅を示します。「解説」を参照してください。 - pRayPosition
光線の始点座標を指定する D3DXVECTOR3 構造体へのポインターです。 - pRayDirection
光線の方向を指定する D3DXVECTOR3 構造体へのポインターです。このベクトルを (0,0,0) にはしないでください。ただし、正規化する必要はありません。
戻り値
光線がボックスの境界ボックスのボリュームに当たる場合は、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 内容