次の方法で共有


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

ワールド マトリックス。

戻り値

オブジェクト空間内のベクターを返します。

注釈

ViewportXViewportYViewportWidthViewportHeight の各パラメーターは、レンダー ターゲット サーフェス上のビューポートの位置と寸法を記述します。 通常、アプリケーションはターゲット サーフェス全体にレンダリングされます。640*480 サーフェスでレンダリングする場合、これらのパラメーターはそれぞれ 0、0、640、および 480 である必要があります。 ViewportMinZViewportMaxZ は通常、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 を含む)

こちらもご覧ください

DirectXMath ライブラリの 3D ベクター変換関数

XMVector3UnprojectStream