IDirect3DDevice9::P resent メソッド (d3d9helper.h)
デバイスが所有するバック バッファーのシーケンス内の次のバッファーの内容を表示します。
構文
HRESULT Present(
[in] const RECT *pSourceRect,
[in] const RECT *pDestRect,
[in] HWND hDestWindowOverride,
[in] const RGNDATA *pDirtyRegion
);
パラメーター
[in] pSourceRect
型: const RECT*
スワップ チェーンが D3DSWAPEFFECT_COPY で作成されていない限り 、NULL である必要がある値へのポインター。 pSourceRect は、ソース四角形を含む RECT 構造体へのポインターです。 NULL の場合、ソース サーフェス全体が表示されます。 四角形がソースサーフェスを超える場合、四角形はソースサーフェスにクリップされます。
[in] pDestRect
型: const RECT*
スワップ チェーンが D3DSWAPEFFECT_COPY で作成されていない限り 、NULL である必要がある値へのポインター。 pDestRect は、変換先の四角形を含む RECT 構造体 (ウィンドウ クライアント座標) へのポインターです。 NULL の場合、クライアント領域全体が塗りつぶされます。 四角形が宛先クライアント領域を超える場合、その四角形は宛先クライアント領域にクリップされます。
[in] hDestWindowOverride
種類: HWND
このプレゼンテーションのターゲットとしてクライアント領域が取得される移動先ウィンドウへのポインター。 この値が NULL の場合、ランタイムはプレゼンテーションに D3DPRESENT_PARAMETERS の hDeviceWindow メンバーを使用します。
[in] pDirtyRegion
型: const RGNDATA*
スワップ チェーンが D3DSWAPEFFECT_COPY で作成された場合を除き、値は NULL である 必要があります。 スワップ チェーンの詳細については、「 サーフェスの反転 (Direct3D 9)」 と「 D3DSWAPEFFECT」を参照してください。 この値が NULL 以外の場合、含まれている領域はバック バッファー座標で表されます。 領域内の四角形は、更新する必要がある最小限のピクセル セットです。 このメソッドは、領域内のピクセルのみをコピーしてプレゼンテーションを最適化する場合、または適切に展開された一連の四角形をコピーするときに、これらの四角形を考慮します。 これは最適化にのみ役立ちます。アプリケーションは、コピーされるリージョンに正確に依存しないようにする必要があります。 実装では、ソースの四角形全体をコピーすることを選択できます。
戻り値
型: HRESULT
可能な戻り値は、D3D_OKまたはD3DERR_DEVICEREMOVEDです ( D3DERR を参照)。
解説
必要に応じて、ストレッチ操作を適用して、ソース四角形内のピクセルをターゲット ウィンドウのクライアント領域のターゲット四角形に転送します。
レンダー ターゲットが現在のレンダー ターゲット (追加のスワップ チェーンの作成から取得したバック バッファーなど) でない限り、BeginScene と EndScene のペアの間で呼び出された場合、Present は失敗し、D3DERR_INVALIDCALLを返します。 これは、Direct3D 9 の新しい動作です。
要件
対象プラットフォーム | Windows |
ヘッダー | d3d9helper.h (D3D9.h を含む) |
Library | D3D9.lib |