Microsoft DirectX 8.0 (C++)

D3DXIntersect

レイがメッシュに当たるかどうかを判定する。

HRESULT D3DXIntersect(
  LPD3DXBASEMESH pMesh,
  CONST D3DXVECTOR3* pRayPos,
  CONST D3DXVECTOR3* pRayDir,
  BOOL* pHit,
  DWORD* pFaceIndex,
  FLOAT* pU,
  FLOAT* pV,
  FLOAT* pDist
);

パラメータ

pMesh
[in] 検証するメッシュを表す、ID3DXBaseMesh インターフェイスへのポインタ。
pRayPos
[in] レイの始点座標を指定する D3DXVECTOR3 構造体へのポインタ。
pRayDir
[in] レイの方向を指定する D3DXVECTOR3 構造体へのポインタ。
pHit
[out] BOOL へのポインタ。レイがメッシュの三角形の面に当たる場合、この値は TRUE に設定される。それ以外の場合、この値は FALSE に設定される。
pFaceIndex
[out] pHit が TRUE の場合、レイの始点に最も近い面のインデックス値へのポインタ。
pU
[out] 重心ヒット座標へのポインタ。
pV
[out] 重心ヒット座標へのポインタ。
pDist
[out] レイの始点から交点までの距離へのポインタ。

戻り値

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

失敗した場合は、E_OUTOFMEMORY を返す。

動作環境

  ヘッダー : D3dx8mesh.h で宣言。
  インポート ライブラリ : D3dx8.lib を使用。