最近都在忙 Ogre3D 應用層的撰寫, 終於告一段落, 這應用層包含了一些常用功能的包裝, 大大的簡化了 Ogre3D 重覆性程式碼的撰寫, 有助於簡化日後的工作量.
接下就要開始製作工具, 想了很多, 不想被 MFC 給綁死, 所以最後決定使用 wxWidgets 當作 UI 的界面層, 另一個好處是工具可以移值到 Linux/Mac 上, 除此之外, 也打算使用 SQL Lite 當作工具的 DB 來使用, 用來儲存一些數據及工具的環境等等.
目前有兩個工具要撰寫, 地圖編輯器及 2D 動畫編輯器, 考慮了一下後決定先從地圖編輯器開始, 因為它比較單純, 沒有像動畫編輯器那樣的複雜, 畢竟在還不熟悉 wxWidgets 的情況下, 由此開始會是個比較好的選擇.
2010年5月9日 星期日
2010年4月17日 星期六
Ogre3D v1.7 與 OpenGL ES 1.1
2010年4月16日 星期五
建置 Ogre3D 1.7 Windows版
這應該算是一篇筆記文, 因為每次在建置 Ogre3D 1.7 版時總是忽略了幾個步驟, 詳細的建置步驟在 官方 wiki 上有 , 這裡只寫出容易忽略的地方.
- 系統的環境變數加上 BOOST_ROOT c:\xxxxxx
- 先建置 Boost.
- Ogre Dependencies 解開後要放在 Source 目錄下, 並且使用 VS 建置 Dependencies 下的專案以產生 .lib 檔.
- DirectX 似乎已沒有版本限制, 使用最新的就可以.
2010年4月13日 星期二
偵測記憶體洩漏 Visual Leak Detector
寫程式難免會遇到記憶體洩漏, 那是個大條且又會讓人頭痛的問題, 所幸的是現在有一些工具可以使用, 如 Dev Partner Studio, GlowCode...等等, 不過這些大都是商業軟體居多, 而 Visual C++ 本身也是有偵測記憶體洩漏的函式可以使用, 但是使用起來比較繁鎖, 現在有一個 OpenSource 的專案叫 Visual Leak Detector, 可以很容易的解決這個問題.
下面將簡單的介紹 Visual Leak Detector :
<安裝及環境設定>
下面列出 vld.ini 比較會需要使用到的參數, 詳細的說明可以在說明檔中找到,
使用 Windows7 時可能因為權限因素無法儲存 vld.ini, 請先將檔案複製到別處, 改完之後再複製到原目錄下.
下面將簡單的介紹 Visual Leak Detector :
<安裝及環境設定>
- 先至 官網 下載檔案, 解壓縮後並安裝檔案.
- 設定檔, 從 [開始] > [程式集] > [Visual Leak Detector] > [Confifure], 然後會開啟一個 vld.ini.
下面列出 vld.ini 比較會需要使用到的參數, 詳細的說明可以在說明檔中找到,
- ReportEncoding : 若回報資訊輸出至檔案, 檔案內文所使用的編碼方式, ascii, unicode.
- ReportFile : 若回報資訊輸出至檔案, 輸出的檔案名稱.
- ReportTo : 回報資訊輸出至何處, debugger 為 Visual Studio 除錯視窗, file 為檔案, both 為兩者都輸出.
- StartDisabled : 載入時先關閉記憶體洩漏偵測, 有需要時再自行開啟.
使用 Windows7 時可能因為權限因素無法儲存 vld.ini, 請先將檔案複製到別處, 改完之後再複製到原目錄下.
3. 設定目錄, [工具] > [選項] > [專案和方案] > [VC++ 目錄], 在 [Include 檔案] 設置安裝目錄的 Include 目錄, 在 [程式庫檔] 設置安裝目錄的 Lib 目錄
<專案及原始碼>
<其它>
<專案及原始碼>
- 若沒有 precompiled header 的話, 在每個檔案前都必須 include "vld.h", 若有 precompiled header, 如 stdafx.h, 則只要在最前面 include "vld.h" 即可, 不需每個檔案都有.
- 專案設定中, 設定 link vld.lib.
<其它>
- vld 只在 Debug 模式才有效用.
- 在原始碼中可以任意呼叫 VLDEnable() 或 VLDDisable() 開始或關閉 vld 的功能.
2010年4月11日 星期日
繪圖引擎
繪圖引擎要開始整合了, 我覺得好像有點貪心, 居然想要整合三套不同的繪圖引擎, 實作了一下, 感覺上是不太可能, 只能說儘量, 在某些低階的部份還是必須要到各引擎專屬的功能, 因此, 繪圖引擎的整合上可能是要使用非常的高階的方法.
初期會先整合雜項的功能, 之後才會開始製作獨立功能的項目, 處理這雜項的整合想必又會是一件挑戰, 畢竟要將不同的繪圖引擎使用單一界面來運作的作法, 是真的有點困難, 不過我還是會儘量做到我想要的, 路總是要想的長遠一點才行.
訂閱:
文章 (Atom)