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