WHY翻寫NEHE與紅龍的3D圖形程序 [開源]

     我的認爲學習3D圖形程序開發,有兩套經典教程.D3D的<D3D遊戲開發編程基礎>也就是紅龍那本書.OpenGL的NEHE教程.爲向經典致敬,將我以前翻寫他們的程序開源.編程

     我所作的工做是將其全部的DEMO集成到一個項目中.全部的DEMO使用同一個渲染設備.這樣能夠在一個進程中自由地切換DEMO.寫這套東西最大的麻煩是,每個DEMO對渲染設備狀態作出的改變,在其退出時須要恢復回去.這看上去很容易,但當出現問題時查起來卻很麻煩,由於教程中的DEMO實在是太多了.最多見的問題是渲染效果不對了,這在搞圖形程序時最常發生,對此類問題,我沒什麼好解決方案,能給出的建議是:錯得多了慢慢就會有經驗了.還有一點要注意的是DEMO中申請的資源須要在退出時釋放.在NEHE的OpenGL教程中彷佛不太注重這點,不少地方只有申請,沒有釋放.但在D3D中若是開啓了D3D Debug模式下,退出程序時,如有未釋放的資源則會出現報錯.學習

      兩套程序中都有個Flying項目模塊,這是我本身寫的幾個圖形DEMO.個人設計是每一類DEMO放到一個項目中,好比開發者要再翻寫一套OPENGL編程寶典或紅寶書的經典程序,能夠新建一個項目,將其全部DEMO寫到該工程中.須要注意的是配置文件的新寫DEMO配置.spa

開發環境:VS2008.設計

代碼下載地址:
http://pan.baidu.com/s/1pJkD4Bh
這裏面有三個工程,Why_DX9和Why_GL分別含有紅龍教程和NEHE教程的代碼.blog

 

軟件說明:教程

主UI界面上,鼠標點擊能夠選擇要運行的DEMO
鍵盤的上下鍵也能夠選擇DEMO,PageUp和PageDown用於翻頁,回車鍵用於啓動選中的DEMO遊戲

F11鍵用於全屏切換,
ESC用於退出當前DEMO及退出全屏
每一個DEMO都會將提示文字信息顯示在界面上,H鍵能夠隱藏文字.進程

相關文章
相關標籤/搜索