OGRE一句話技巧

如有轉載,請註明:
http://www.azure.com.cn/

1. 所有需要掛在SceneNode上的user-object, 都需要從MovableObject來繼承,比如一個最典型的應用是 3DSoundSource.

2. Ogre中RenderQueue的相關標號,標號越小的其最先渲染。
Background - Queue 0
Skybox - Queue 20
World Geometry - Queue 30
MovableObjects - Queue 50
Overlays - Queue 100

比如我們需要在Overlays上顯示粒子效果,
我們就需要把粒子對象(其就是一個MovableObject)的RenderQueue,設置
大於100,比如101。

3. Material Script的自動退卻(automatic fallback)技術
在一個material中放置多個不同配置級別的Techique,
可以分別代表UltraHigh High Normal Low各種配置級別。
Techique依次由高配置排列到低配置,OGRE會按順序自動檢測,
如果高配置的無法實現,會依次測試下一個Techique.
當我們將所有的採製都實現上面四個Techique,我們就可以通過
菜單來配置,只用用一個全局標量標誌相應的TechiqueID,如果選擇
UltraHigh,我們就在使用材質的時候統一選擇ID=0。

4. 一個頂點最多隻能被4個骨頭影響。

5. Archive抽象類,用於文件的讀取,如果想讀取自己的包的話,
就讓我們繼承它吧!還有繼承一個新的ArchiveFactory哦。

6. PluginFolder=./Plugins
表示在Plugins目錄下加載插件DLL

7. 創建自己的LOG文件

LogManager* logMgr = new LogManager;
Log *log = LogManager::getSingleton().createLog("mylog.log", true, true, false);

8. 生成16:9的屏幕,只用改變攝像機參數

cam->setAspectRatio(Real(1.77777)); //16除以9

9. 使用CreateRenderWindow附加的參數

NameValuePairList params;
params["left"] = "0";
params["top"] = 0;
params["title"] = "Alternate Window Title";
opts["parentWindowHandle"] = StringConverter::toString(hWnd);
//這個是使用外部的窗口句柄

10. 線框模式調試

camera->setPolygonMode(PM_WIREFRAME);

11. 讓camera跟蹤一個結點

camera->setAutoTracking(true, SceneNode);

12. 產生立體眼鏡效果
通過調用camera的setFrustumOffset()和setFocalLength()兩個函數。

13. 關於多視口,畫中畫

window->addViewport(camera, ZOrder, x1, y1, x2, y2);

你可以添加多個視口,ZOrder越小其越在下面

14. 當你需要將一個camera掛在scenenode上時,最好把"use fixed yaw axis"關掉,要不然當scenenode旋轉的時候,會發生不可預料的顯示效果。

15. 資源管理的時候最好要分組,那樣查詢起來快,
而且卸載資源的時候可以按相關組一起unload.

16. 書上這樣說了“Ogre, by default, is not thread-safe.”

17. 卸載那些未被任何對象使用的資源,用以下函數

ResourceGroupManager::unloadUnreferencedResourcesInGroup()

18. 弄清楚

ResourceGroupManager::geSingleton().clearResourceGroup("Bootstrap");
ResourceGroupManager::geSingleton().destroyResourceGroup("Bootstrap");

的區別
clear會把該組的對象的引用計數減一,而destroy不僅做了clear的事情而且還會把該組刪除掉。

19. 你要做loading進度條,就讓我們註冊一個ResourceGroupListener來回調其loading信息吧。

www.azure.com.cn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章