次の方法で共有


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

ワールド マトリックス。

戻り値

画面空間内のベクターを返します。

解説

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

関連項目

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

XMVector3ProjectStream