次の方法で共有


XMVector3UnprojectStream 関数 (directxmath.h)

3D ベクトルのストリームを画面空間からオブジェクト空間に変換します。

構文

XMFLOAT3 *XM_CALLCONV XMVector3UnprojectStream(
  [out] XMFLOAT3       *pOutputStream,
  [in]  size_t         OutputStride,
  [in]  const XMFLOAT3 *pInputStream,
  [in]  size_t         InputStride,
  [in]  size_t         VectorCount,
  [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;

パラメーター

[out] pOutputStream

宛先ストリーム内の最初の XMFLOAT3 のアドレス。

[in] OutputStride

ターゲット ストリーム内のベクトル間のストライド (バイト単位)。

[in] pInputStream

変換されるストリーム内の最初の XMFLOAT3 のアドレス。 X,Y はピクセル単位で、Z は 0.0 ( ViewportMinZ の場合) から 1.0 ( ViewportMaxZ の場合) です。

[in] InputStride

入力ストリーム内のベクトル間のストライド (バイト単位)。

[in] VectorCount

変換するベクトルの数。

[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

ワールド マトリックス。

戻り値

宛先ストリームの最初の XMFLOAT3 のアドレスを返します。

解説

ViewportXViewportYViewportWidthViewportHeight の各パラメーターは、レンダー ターゲット サーフェス上のビューポートの位置と寸法を記述します。 通常、アプリケーションはターゲット サーフェス全体にレンダリングされます。640*480 サーフェスでレンダリングする場合、これらのパラメーターはそれぞれ 0、0、640、および 480 である必要があります。 ViewportMinZViewportMaxZ は通常、0.0f と 1.0f に設定されますが、特定の効果を実現するために他の値に設定できます。

プラットフォームの要件

Windows 8 用 Windows SDK を使用した Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。

要件

   
対象プラットフォーム Windows
ヘッダー directxmath.h (DirectXMath.h を含む)

関連項目

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

XMVector3Unproject