D3DXIntersectTri 関数 (D3DX10math.h)
注意
D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。
レイと三角形の交差部分を計算します。
構文
BOOL D3DXIntersectTri(
_In_ const D3DXVECTOR3 *p0,
_In_ const D3DXVECTOR3 *p1,
_In_ const D3DXVECTOR3 *p2,
_In_ const D3DXVECTOR3 *pRayPos,
_In_ const D3DXVECTOR3 *pRayDir,
_Out_ FLOAT *pU,
_Out_ FLOAT *pV,
_Out_ FLOAT *pDist
);
パラメーター
-
p0 [in]
-
型: const D3DXVECTOR3*
D3DXVECTOR3 構造体へのポインター。最初の三角形の頂点位置を記述します。
-
p1 [in]
-
型: const D3DXVECTOR3*
2 番目の三角形の頂点位置を記述する D3DXVECTOR3 構造体へのポインター。
-
p2 [in]
-
型: const D3DXVECTOR3*
D3DXVECTOR3 構造体へのポインター。3 番目の三角形の頂点位置を記述します。
-
pRayPos [in]
-
型: const D3DXVECTOR3*
光線の始点を指定する D3DXVECTOR3 構造体へのポインター。
-
pRayDir [in]
-
型: const D3DXVECTOR3*
光線の方向を指定する D3DXVECTOR3 構造体へのポインター。
-
pU [out]
-
型: FLOAT*
Barycentric ヒット座標、U.
-
pV [out]
-
型: FLOAT*
Barycentric ヒット座標、V。
-
pDist [out]
-
型: FLOAT*
レイ交差パラメーターの距離。
戻り値
種類: BOOL
光線が三角形の領域と交差する場合は TRUE を 返します。 それ以外の場合は、 FALSE を返します。
注釈
平面 V1V2V3 内の任意の点は、barycentric 座標 (U,V) で表すことができます。 パラメーター U は、結果に重み付けされる V2 の量を制御し、パラメーター V は結果に加重される V3 の量を制御します。 最後に、[1 - (U + V)] の値は、結果に加重される V1 の量を制御します。
Barycentric 座標は、一般的な座標の形式です。 このコンテキストでは、barycentric 座標を使用すると、座標系の変化を表します。 デカルト座標に true を保持するものは、バリセントリック座標の場合は true を保持します。
Barycentric 座標は、三角形の頂点に関して三角形内の点を定義します。 バリセントリック座標の詳細な説明については、「 Mathworld の Barycentric Coordinates Description」を参照してください。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください