向經典致敬,WHY翻寫3D圖形程式 [開源]

來源:互聯網
上載者:User

標籤:style   blog   http   使用   檔案   2014   

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

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

      兩套程式中都有個Flying項目模組,這是我自己寫的幾個圖形DEMO.我的設計是每一類DEMO放到一個項目中,比如開發人員要再翻寫一套OPENGL編程寶典或紅寶書的經典程式,可以建立一個項目,將其所有DEMO寫到該工程中.需要注意的是設定檔的新寫DEMO配置.

開發環境:VS2008.

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

 

軟體說明:

主UI介面上,滑鼠點擊可以選擇要啟動並執行DEMO
鍵盤的上下鍵也可以選擇DEMO,PageUp和PageDown用於翻頁,斷行符號鍵用於啟動選中的DEMO

F11鍵用於全屏切換,
ESC用於退出當前DEMO及退出全屏
每個DEMO都會將提示文字資訊顯示在介面上,H鍵可以隱藏文字.

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.