IDirect3DDevice9::P resent 方法 (d3d9.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 。 如需交換鏈結的詳細資訊,請參閱 翻轉 Surface (Direct3D 9) 和 D3DSWAPEFFECT。 如果此值為非Null,則包含的區域會以後端緩衝區座標表示。 區域內的矩形是需要更新的最小圖元集。 此方法會將這些矩形納入考慮,方法是只複製區域內的圖元,或一些適當展開的矩形集來優化簡報。 這只是優化協助工具,應用程式不應該完全依賴複製的區域。 實作可以選擇複製整個來源矩形。
傳回值
類型: HRESULT
可能的傳回值包括:D3D_OK或D3DERR_DEVICEREMOVED (請參閱 D3DERR) 。
備註
如有必要,會套用延展作業,將來源矩形內的圖元傳送至目標視窗工作區中的目的地矩形。
如果 BeginScene 與 EndScene 配對之間呼叫,則呈現將會失敗,傳回D3DERR_INVALIDCALL,除非轉譯目標不是目前的轉譯目標 (,例如您從建立其他交換鏈結) 取得的背景緩衝區。 這是 Direct3D 9 的新行為。
需求
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |