XMVector3Project 関数 (directxmath.h)
オブジェクト空間から画面空間に 3D ベクターを投影します。
構文
XMVECTOR XM_CALLCONV XMVector3Project(
[in] FXMVECTOR V,
[in] float ViewportX,
[in] float ViewportY,
[in] float ViewportWidth,
[in] float ViewportHeight,
[in] float ViewportMinZ,
[in] float ViewportMaxZ,
[in] FXMMATRIX Projection,
[in] CXMMATRIX View,
[in] CXMMATRIX World
) noexcept;
パラメーター
[in] V
画面空間に投影されるオブジェクト空間内の 3D ベクター。
[in] ViewportX
ビューポートの左上隅のピクセル座標。 サーフェスのサブセットにレンダリングする場合を除き、このパラメーターは 0 に設定できます。
[in] ViewportY
レンダー ターゲット サーフェス上のビューポートの左上隅のピクセル座標。 サーフェスのサブセットにレンダリングする場合を除き、このパラメーターは 0 に設定できます。
[in] ViewportWidth
クリップ ボリュームの幅の寸法 (ピクセル単位)。 サーフェスのサブセットにのみレンダリングする場合を除き、このパラメーターはレンダー ターゲット サーフェスの幅寸法に設定する必要があります。
[in] ViewportHeight
クリップ ボリュームの高さ寸法 (ピクセル単位)。 サーフェスのサブセットにのみレンダリングする場合を除き、このパラメーターはレンダー ターゲット サーフェスの高さ寸法に設定する必要があります。
[in] ViewportMinZ
ViewportMaxZ と共に、シーンをレンダリングする深度値の範囲、クリップ ボリュームの最小値と最大値を示す値。 ほとんどのアプリケーションでは、この値を 0.0f に設定します。 クリッピングは、投影行列を適用した後に実行されます。
[in] ViewportMaxZ
MinZ と共に、シーンをレンダリングする深度値の範囲、クリップ ボリュームの最小値と最大値を示す値。 ほとんどのアプリケーションでは、この値を 1.0f に設定します。 クリッピングは、投影行列を適用した後に実行されます。
[in] Projection
射影行列。
[in] View
マトリックスを表示します。
[in] World
ワールド マトリックス。
戻り値
画面空間内のベクターを返します。
解説
ViewportX、ViewportY、ViewportWidth、ViewportHeight の各パラメーターは、レンダー ターゲット サーフェス上のビューポートの位置と寸法を記述します。 通常、アプリケーションはターゲット サーフェス全体にレンダリングされます。640*480 サーフェスでレンダリングする場合、これらのパラメーターはそれぞれ 0、0、640、および 480 である必要があります。 ViewportMinZ と ViewportMaxZ は通常 0.0f と 1.0f に設定されますが、特定の効果を得るには他の値に設定できます。
プラットフォームの要件
Windows SDK for Windows 8 を使用する Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。要件
対象プラットフォーム | Windows |
ヘッダー | directxmath.h (DirectXMath.h を含む) |