前言:
研究3D游戲相關的知識有了不少的時間了.最近一段時間開始寫自己的3D圖像引擎-WuguiEngine. 代碼也參考了不少的資料. 從引擎的功能上來說,不求能夠讓大眾接受, 不求能夠成為一個眾多人維護的開源項目(不過源代碼是開放的,只是沒有太多精力來管理一個項目). 只是我一個在學習過程中的一個簡單的項目.同時我在編寫的過程中也希望能夠多和大家交流, 把我的心得與大家分享, 也希望大家能夠為我的學習或者項目提出一些意見. 本引擎雖然不算一個很易用的引擎, 不過也會實現目前流行的一些技術.
選擇WuguiEngine作為本引擎的名字主要是有兩個原因,第一是我的外號叫烏龜 為什麼不叫TortoiseEngine呢,我認為Wugui看起來更有意思一點.第二是由於本引擎設計相對簡陋, 運氣起來的速度肯定不快,像烏龜一樣. 這點就希望大家不要嘲笑了 :-D
引擎的特征:
本引擎主要具備的內容有:
1) 完整的場景管理系統(目前實現了線性查找,最簡單的,之後會實現一個八叉樹)
2) 一套可擴展的游戲主邏輯系統(目前完成了部分,實現了一些簡單的Demo)
3) 一套不算很復雜,但是比較方便的輸入系統(目前完成了部分)
4) 一套可擴展, 使用起來也相對簡單的Shader系統(目前完成了部分, 我准備將圖像的渲染做成全Shader方式, 放棄固定管線的內容)
5) 一套可以進行資源動態加載的資源管理系統(目前還沒有實現)
6) 一套方便定位文件, 讀取文件的流系統與文件系統.(目前還沒有實現)
7) 重新封裝D3D裡面的部分類,使之使用起來更簡單(目前實現了部分,比如Mesh, Texture等等)
8) 使用命名空間進行代碼的管理, 從設計的角度上來說, 並沒有使用目前很流行的接口與實現相分離的做法, 主要是我比較懶(-_-)
9) 沒有設計API抽象層, 主要是本項目主要是學習為主,不想畫過多時間在抽象層這類的代碼上
本引擎准備進行的