Microsoft DirectX 8.0 (C++)

D3DVIEWPORT8

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

typedef struct _D3DVIEWPORT8 {
    DWORD       X;
    DWORD       Y;
    DWORD       Width;
    DWORD       Height;
    float       MinZ;
    float       MaxZ;
} D3DVIEWPORT8;

メンバ

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

注意

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

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

動作環境

  ヘッダー : D3d8types.h で宣言。

参照

IDirect3DDevice8::GetViewportIDirect3DDevice8::SetViewport