Microsoft DirectX 8.0 (C++)

D3DXComputeBoundingBox

境界ボックスを算出する。

HRESULT D3DXComputeBoundingBox(
  PVOID pPointsFVF,
  DWORD NumVertices,
  DWORD FVF,
  D3DXVECTOR3* pMin,
  D3DXVECTOR3* pMax
);

パラメータ

pPointsFVF
[in] 境界ボックスの算出に使用する頂点データを格納するバッファへのポインタ。
NumVertices
[in] 頂点の数。
FVF
[in] 頂点フォーマットを記述する柔軟な頂点フォーマット フラグの組み合わせ。
pMin
[out] 境界ボックスの左下隅を記述する、D3DXVECTOR3 構造体へのポインタ。「注意」を参照すること。
pMax
[out] 境界ボックスの右上隅を記述する、D3DXVECTOR3 構造体へのポインタ。「注意」を参照すること。

戻り値

成功した場合は D3D_OK を返す。

失敗した場合は、1 つの D3DERR_INVALIDCALL を返す。

注意

D3DXComputeBoundingBox が返す 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 を使用。