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 resent 或 IDirect3DSwapChain9::P resent) 。 在執行任何轉譯之前,應該先呼叫 IDirect3DDevice9::BeginScene 一次,而且在將框架的所有轉譯提交至運行時間之後,應該呼叫 IDirect3DDevice9::EndScene。 目前呼叫之間的多個非巢狀 IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene 配對是合法的,但有多個配對可能會造成效能命中。 若要在 CPU 與圖形加速器之間啟用最大平行處理原則,最好盡可能在呼叫之前呼叫 IDirect3DDevice9::EndScene 。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |