次の方法で共有


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 内容

関連項目

D3DXComputeBoundingBox