XMVector3Unproject 関数 (directxmath.h)
画面空間からオブジェクト空間に 3D ベクターを投影します。
構文
XMVECTOR XM_CALLCONV XMVector3Unproject(
[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 ベクター。 X と Y はピクセル単位で、Z は 0.0 ( ViewportMinZ では) から 1.0 ( ViewportMaxZ の場合) です。
[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 に設定されますが、特定の効果を実現するために他の値に設定できます。
プラットフォームの要件
Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012 と Windows SDK for Windows 8。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directxmath.h (DirectXMath.h を含む) |