D3DVIEWPORT9 構造体

D3DVIEWPORT9 構造体

3D ボリュームを射影するレンダリング ターゲット サーフェイスのウィンドウの大きさを定義する。

構文

typedef struct _D3DVIEWPORT9 {
    DWORD X;
    DWORD Y;
    DWORD Width;
    DWORD Height;
    float MinZ;
    float MaxZ;
} D3DVIEWPORT9;

メンバ

  • X
    レンダリング ターゲット サーフェイス上のビューポートの左上隅を表すピクセル座標。サーフェイスのサブセットにレンダリングするのでなければ、このメンバは 0 に設定できる。
  • Y
    レンダリング ターゲット サーフェイス上のビューポートの左上隅を表すピクセル座標。サーフェイスのサブセットにレンダリングするのでなければ、このメンバは 0 に設定できる。
  • Width
    クリップ ボリュームの幅 (ピクセル単位)。サーフェイスのサブセットに限定してレンダリングするのでなければ、このメンバにはレンダリング ターゲット サーフェイスの幅を設定する。
  • Height
    クリップ ボリュームの高さ (ピクセル単位)。サーフェイスのサブセットに限定してレンダリングするのでなければ、このメンバにはレンダリング ターゲット サーフェイスの高さを設定する。
  • MinZ
    MaxZ と共に使い、シーンをレンダリングする深度値の範囲を示す値。 クリップ ボリュームの最小値と最大値。ほとんどのアプリケーションでは、この値を 0.0 に設定する。射影行列の適用後にクリッピングが行われる。
  • MaxZ
    MinZ と共に使い、シーンをレンダリングする深度値の範囲を示す値。 クリップ ボリュームの最小値と最大値。ほとんどのアプリケーションでは、この値を 1.0 に設定する。射影行列の適用後にクリッピングが行われる。

注意

XYWidthHeight の各メンバは、レンダリング ターゲット サーフェイス上のビューポートの位置とディメンジョンを記述する。通常、アプリケーションはターゲット サーフェイス全体にレンダリングするので、640 x 480 のサーフェイスにレンダリングするとき、これらのメンバはそれぞれ 0、0、640、480 になる。一般に、MinZ および MaxZ は 0.0 および 1.0 に設定されるが、他の値を設定して特殊効果を出すこともできる。たとえば、両方の値を 0.0 に設定すると、シーンのフォアグラウンドにオブジェクトがレンダリングされる。また、両方の値を 1.0 に設定すると、オブジェクトがバックグラウンドにレンダリングされる。

デバイスのビューポート パラメータを変更すると (IDirect3DDevice9::SetViewport メソッドの呼び出しにより)、ドライバは新しいトランスフォーム行列を作成する。

構造体の情報

ヘッダー d3d9types.h
最低限のオペレーティング システム Windows 98

参照

IDirect3DDevice9::GetViewportIDirect3DDevice9::SetViewport