Microsoft DirectX 8.0 (C++) |
レイがボックスの境界ボックスのボリュームに当たるかどうかを判定する。
BOOL D3DXBoxBoundProbe( CONST D3DXVECTOR3* pMin, CONST D3DXVECTOR3* pMax, D3DXVECTOR3* pRayPosition, D3DXVECTOR3* pRayDirection );
レイがボックスの境界ボックスのボリュームに当たる場合は、TRUE を返す。それ以外の場合は、FALSE を返す。
D3DXBoxBoundProbe は、レイがボックスのサーフェスだけではなく、ボックスの境界ボックスのボリュームに当たるかどうかを判定する。
D3DXBoxBoundProbe に渡される D3DXVECTOR3 の値は、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)、最大ベクトルが (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, -1
ヘッダー : D3dx8mesh.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。