IDirect3DDevice9::BeginScene メソッド (d3d9.h)
シーンを開始します。
HRESULT BeginScene();
型: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 IDirect3DDevice9::BeginScene が既に IDirect3DDevice9::BeginSceneIDirect3DDevice9::EndScene/ ペアにあるときに呼び出された場合、メソッドは D3DERR_INVALIDCALL で失敗します。 これは、IDirect3DDevice9::BeginScene が最初に IDirect3DDevice9::EndScene を呼び出さずに 2 回呼び出された場合にのみ発生します。
アプリケーションはレンダリングを実行する前に IDirect3DDevice9::BeginScene を呼び出す必要があり、レンダリングが完了したら IDirect3DDevice9::EndScene を呼び出してから 、IDirect3DDevice9::BeginScene を再度呼び出す必要があります。
IDirect3DDevice9::BeginScene が失敗した場合、デバイスはシーンを開始できず、IDirect3DDevice9::EndScene を呼び出す必要はありません。 実際、前 の IDirect3DDevice9::BeginScene が失敗した場合、 IDirect3DDevice9::EndScene の呼び出しは失敗します。 これは、複数のスワップ チェーンを作成するすべてのアプリケーションに適用されます。
存在する連続する呼び出し (IDirect3DDevice9::P resent またはIDirect3DSwapChain9::P resent) の間には、1 つの IDirect3DDevice9::BeginScene IDirect3DDevice9::EndScene ペアが必要です。/ レンダリングを実行する前に IDirect3DDevice9::BeginScene を 1 回呼び出し、フレームのすべてのレンダリングがランタイムに送信された後に IDirect3DDevice9::EndScene を 1 回呼び出す必要があります。 入れ子になっていない 複数の IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene ペアが存在する呼び出し間は有効ですが、複数のペアがあるとパフォーマンスが低下する可能性があります。 CPU とグラフィックス アクセラレータの間で最大限の並列処理を有効にするには、可能な限り前に IDirect3DDevice9::EndScene を呼び出すと便利です。
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d9.h (D3D9.h を含む) |
Library | D3D9.lib |