D3DVIEWPORT9

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

typedef struct D3DVIEWPORT9 {
    DWORD X;
    DWORD Y;
    DWORD Width;
    DWORD Height;
    float MinZ;
    float MaxZ;
} D3DVIEWPORT9, *LPD3DVIEWPORT9;

メンバ

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

解説 

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

(IDirect3DDevice9::SetViewport メソッドの呼び出しにより) デバイスのビューポート パラメーターが変化した場合、ドライバーによって新しいトランスフォーム行列が作成されます。

要件

ヘッダー: D3D9Types.h 宣言

関連項目

IDirect3DDevice9::GetViewport, IDirect3DDevice9::SetViewport, IDirect3DDevice9::SetViewport

表示: