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
必要条件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目