看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《tyc5116 (累人啊....)》之銘言: : 請問一下在DirectX的程式中 : 最後要將畫面呈現出來時會用到這樣的指令 : // Present the backbuffer contents to the display : g_pd3dDevice->Present( NULL, NULL, NULL, NULL ); : 如果說現在我有多個d3dDevice的話,要怎麼一起呈現呢,謝謝 HRESULT Present( CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride, CONST RGNDATA * pDirtyRegion ); 這是函式原型 詳細說明請查詢 IDirect3DDevice9::Present 不過以我現在業餘的認知來說@@ 多個device好像是DX11才跑出來的東西 我還記得M$好像還發了PPT來講解說明 不知道我的理解有沒有錯誤 如果有錯誤請務必糾正我@@ 另外我猜貼文的朋友是想做類似同螢幕雙打四打之類的效果吧 例如:無雙雙打那種螢幕切割, 或是瑪莉歐賽車那種四切 我是沒實際做過, 不過我推測這樣的需求 應該是透過存surface來處理的吧@@ 以雙打來說 就是 先創造三個surface變數 叫 s1, s2, s3好了 s1, 存1p的surface, 尺寸左半張螢幕 s2, 存2p的surface, 右半張 s3, 存要畫到螢幕上的surface, 全顯示區 讓device先把1p的圖像畫到s1 把2p的畫到s2 再把s1 + s2存到s3 最後輸出s3 由於這段過程都是在程式裡面跑的 使用者只會看到源源不絕的s3 這是我對這種螢幕切割程式寫法的猜測 我也沒真正實際驗證過是否正確 如果有錯, 還請各位多多指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.133.240
VictorTom:理論上畫四次不同的內容用分佔window四個區域的ViewPort 11/29 10:21
VictorTom:也可以辦到....@_@" 11/29 10:21