2012-04-04 83 views
0

所以我創建了這個程序來渲染到使用DirectX的窗口。它有一個init()方法,它需要一個HWND對象,以便它可以初始化DirectX到窗口,然後調用render()方法,該方法在無限循環內部調用,然後最終發佈DirectX對象和設備的一個cleanup()方法。但是,DirectX會渲染一個旋轉立方體的幾幀(可能足夠半圈),然後屏幕會變黑。然後立方體會回來,但它在黑色時期仍然在旋轉。這繼續在一個...關閉......關閉...模式。 DirectX可能無法正確渲染窗口?怎麼了?DirectX渲染

+3

向我們顯示您的代碼 – BlackBear 2012-04-04 15:38:24

+0

歡迎來到SO!有兩個很好的資源可以解釋如何編寫一個好問題:http://sscce.org和[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-嘗試/) - 你應該閱讀這些,然後相應地編輯你的問題。 – 2012-04-04 15:44:27

+0

你如何處理WM_PAINT消息和背景?可能他們有時會覆蓋你的繪圖?儘管沒有代碼,但我不知道。 – jcoder 2012-04-04 15:52:06

回答

0

從我的經驗來看,我認爲你需要明確地實現對你的窗口的後臺擦除事件的處理(see this page),否則,默認實現將會啓動並阻擋你的方式(有時會擦除DirectX只是渲染爲其他人所建議的)。

但是,正如大家已經提到的那樣:這只是一個小理論,我們需要一些代碼來進一步檢查:-)。