IDirect3DDevice9::BeginScene 方法 (d3d9.h)

開始場景。

Syntax

HRESULT BeginScene();

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果在 IDirect3DDevice9::BeginScene 配對中已經呼叫 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene ,此方法將會失敗並出現D3DERR_INVALIDCALL。 只有當 IDirect3DDevice9::BeginScene 呼叫兩次,而不先呼叫 IDirect3DDevice9::EndScene 時,才會發生這種情況。

備註

應用程式在執行任何轉譯之前,必須先呼叫 IDirect3DDevice9::BeginScene ,而且必須在轉譯完成時呼叫 IDirect3DDevice9::EndScene ,然後再呼叫 IDirect3DDevice9::BeginScene

如果 IDirect3DDevice9::BeginScene 失敗,裝置無法開始場景,而且不需要呼叫 IDirect3DDevice9::EndScene。 事實上,如果先前的 IDirect3DDevice9::BeginScene 失敗,對 IDirect3DDevice9::EndScene 的呼叫將會失敗。 這適用於任何建立多個交換鏈結的應用程式。

任何後續呼叫之間應該有一個 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene 配對,以呈現 (IDirect3DDevice9::P resentIDirect3DSwapChain9::P resent) 。 在執行任何轉譯之前,應該先呼叫 IDirect3DDevice9::BeginScene 一次,而且在將框架的所有轉譯提交至運行時間之後,應該呼叫 IDirect3DDevice9::EndScene。 目前呼叫之間的多個非巢狀 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene 配對是合法的,但有多個配對可能會造成效能命中。 若要在 CPU 與圖形加速器之間啟用最大平行處理原則,最好盡可能在呼叫之前呼叫 IDirect3DDevice9::EndScene

規格需求

需求
目標平台 Windows
標頭 d3d9.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9