你,壞孩子,一定是偷用1.6.x的OGRE了對吧,請砍掉重練,否則本教程是基於OGRE1.7.x的,出了其他問題概不負責呦~~
解釋,因為OGRE從1.7版以後將這一函式
RenderSystemList *render_sys_list = root->getAvailableRenderers();//line 14
從傳指標改成傳參考,所以程式碼應該成
const RenderSystemList &render_sys_list = root->getAvailableRenderers();//line 14RenderSystemList::const_iterator it_rs( render_sys_list.begin() );//line 15while ( it_rs != render_sys_list.end() )//line 17/**** **** **** **** **** **** **** ****/
5TH:再次按下F5
編譯應該是會通過得,後你將看到
因為OGRE有使用動態函式檔,而我們沒有配置給他,請回到之前編譯出來的Ogre資料夾中,進入C:\Ogre->bin->debug中,將
plugins_d.cfg resources_d.cfg 以及"不是"Sample開頭的DLL檔都複製起來,然後貼到你的OGRE專案的DEBUG資料夾中(筆者是C:\Documents and Settings\USER\桌面\ogre_easy\Debug)
如圖(當然你也可以將輸出目錄直接設定成OGRE的bin目錄,如此可以避免很多問題,請讀者自行嘗試)
/**** **** **** **** **** **** **** ****/
6TH:再再次按下F5
如果看到像下面的圖一樣有一個一片漆黑的視窗,恭喜你歷經千辛萬苦執行了第一個OGRE程式!!!
筆者再這裡遇到的問題有
1.畫面中出現了一隻松鼠...是的,因為筆者搞錯resources_d.cfg(資源)檔,結果一渲染就變成一張很久以前用過得圖.....只要確定你是從C:\Ogre->bin->debug得到資源檔就不可能會有這個問題
2.畫面不是純黑的,一一些花花綠綠白白的點顛,這是因為我們的程式沒做任何動作(也就是沒渲染就輸出到畫面),所以某些記憶體沒初始化就送進畫面被輸出了,所導致的怪異現象
筆者從使用DX渲染(下一張解釋)改成OpenGL渲染後就在也弄不出以上的兩個問題了,而且基本上都不算是真的問題...
END:
接下來將解說基本的OGRE程式



沒有留言:
張貼留言