1.所有需要掛在SceneNode上的user-object, 都需要從MovableObject來繼承,比如一個最典型的應(yīng)用是 3DSoundSource.
2.Ogre中RenderQueue的相關(guān)標(biāo)號,標(biāo)號越小的其最先渲染。
Background - Queue 0
Skybox - Queue 20
World Geometry - Queue 30
MovableObjects - Queue 50
Overlays - Queue 100
比如我們需要在Overlays上顯示粒子效果,
我們就需要把粒子對象(其就是一個MovableObject)的RenderQueue,設(shè)置大于100,比如101。
3.Material Script的自動退卻(automatic fallback)技術(shù)在一個material中放置多個不同配置級別的Techique,
可以分別代表UltraHigh High Normal Low各種配置級別。Techique依次由高配置排列到低配置,OGRE會按順序自動檢測,如果高配置的無法實(shí)現(xiàn),會依次測試下一個Techique.當(dāng)我們將所有的采制都實(shí)現(xiàn)上面四個Techique,我們就可以通過菜單來配置,只用用一個全局標(biāo)量標(biāo)志相應(yīng)的TechiqueID,如果選擇UltraHigh,我們就在使用材質(zhì)的時候統(tǒng)一選擇ID=0。
4.一個頂點(diǎn)最多只能被4個骨頭影響。
5.Archive抽象類,用于文件的讀取,如果想讀取自己的包的話,就讓我們繼承它吧!還有繼承一個新的ArchiveFactory哦。
6.PluginFolder=./Plugins表示在Plugins目錄下加載插件DLL
7.創(chuàng)建自己的LOG文件
LogManager* logMgr = new LogManager;
Log *log = LogManager::getSingleton().createLog("mylog.log", true, true, false);
8.生成16:9的屏幕,只用改變攝像機(jī)參數(shù)
cam->setAspectRatio(Real(1.77777)); //16除以9
9.使用CreateRenderWindow附加的參數(shù)
NameValuePairList params;
params["left"] = "0";
params["top"] = 0;
params["title"] = "Alternate Window Title";
opts["parentWindowHandle"] = StringConverter::toString(hWnd);
//這個是使用外部的窗口句柄
10.線框模式調(diào)試
camera->setPolygonMode(PM_WIREFRAME);
11.讓camera跟蹤一個結(jié)點(diǎn)
camera->setAutoTracking(true, SceneNode);
12.產(chǎn)生立體眼鏡效果
通過調(diào)用camera的setFrustumOffset()和setFocalLength()兩個函數(shù)。
13.關(guān)于多視口,畫中畫
window->addViewport(camera, ZOrder, x1, y1, x2, y2);
你可以添加多個視口,ZOrder越小其越在下面
14.當(dāng)你需要將一個camera掛在scenenode上時,最好把"use fixed yaw axis"關(guān)掉,要不然當(dāng)scenenode旋轉(zhuǎn)的時候,會發(fā)生不可預(yù)料的顯示效果。
15.資源管理的時候最好要分組,那樣查詢起來快,而且卸載資源的時候可以按相關(guān)組一起unload.
16.書上這樣說了“Ogre, by default, is not thread-safe.”
17.卸載那些未被任何對象使用的資源,用以下函數(shù)
ResourceGroupManager::unloadUnreferencedResourcesInGroup()
18.弄清楚
ResourceGroupManager::geSingleton().clearResourceGroup("Bootstrap");
ResourceGroupManager::geSingleton().destroyResourceGroup("Bootstrap");
的區(qū)別
clear會把該組的對象的引用計(jì)數(shù)減一,而destroy不僅做了clear的事情而且還會把該組刪除掉。
19.你要做loading進(jìn)度條,就讓我們注冊一個ResourceGroupListener來回調(diào)其loading信息吧。
2.Ogre中RenderQueue的相關(guān)標(biāo)號,標(biāo)號越小的其最先渲染。
Background - Queue 0
Skybox - Queue 20
World Geometry - Queue 30
MovableObjects - Queue 50
Overlays - Queue 100
比如我們需要在Overlays上顯示粒子效果,
我們就需要把粒子對象(其就是一個MovableObject)的RenderQueue,設(shè)置大于100,比如101。
3.Material Script的自動退卻(automatic fallback)技術(shù)在一個material中放置多個不同配置級別的Techique,
可以分別代表UltraHigh High Normal Low各種配置級別。Techique依次由高配置排列到低配置,OGRE會按順序自動檢測,如果高配置的無法實(shí)現(xiàn),會依次測試下一個Techique.當(dāng)我們將所有的采制都實(shí)現(xiàn)上面四個Techique,我們就可以通過菜單來配置,只用用一個全局標(biāo)量標(biāo)志相應(yīng)的TechiqueID,如果選擇UltraHigh,我們就在使用材質(zhì)的時候統(tǒng)一選擇ID=0。
4.一個頂點(diǎn)最多只能被4個骨頭影響。
5.Archive抽象類,用于文件的讀取,如果想讀取自己的包的話,就讓我們繼承它吧!還有繼承一個新的ArchiveFactory哦。
6.PluginFolder=./Plugins表示在Plugins目錄下加載插件DLL
7.創(chuàng)建自己的LOG文件
LogManager* logMgr = new LogManager;
Log *log = LogManager::getSingleton().createLog("mylog.log", true, true, false);
8.生成16:9的屏幕,只用改變攝像機(jī)參數(shù)
cam->setAspectRatio(Real(1.77777)); //16除以9
9.使用CreateRenderWindow附加的參數(shù)
NameValuePairList params;
params["left"] = "0";
params["top"] = 0;
params["title"] = "Alternate Window Title";
opts["parentWindowHandle"] = StringConverter::toString(hWnd);
//這個是使用外部的窗口句柄
10.線框模式調(diào)試
camera->setPolygonMode(PM_WIREFRAME);
11.讓camera跟蹤一個結(jié)點(diǎn)
camera->setAutoTracking(true, SceneNode);
12.產(chǎn)生立體眼鏡效果
通過調(diào)用camera的setFrustumOffset()和setFocalLength()兩個函數(shù)。
13.關(guān)于多視口,畫中畫
window->addViewport(camera, ZOrder, x1, y1, x2, y2);
你可以添加多個視口,ZOrder越小其越在下面
14.當(dāng)你需要將一個camera掛在scenenode上時,最好把"use fixed yaw axis"關(guān)掉,要不然當(dāng)scenenode旋轉(zhuǎn)的時候,會發(fā)生不可預(yù)料的顯示效果。
15.資源管理的時候最好要分組,那樣查詢起來快,而且卸載資源的時候可以按相關(guān)組一起unload.
16.書上這樣說了“Ogre, by default, is not thread-safe.”
17.卸載那些未被任何對象使用的資源,用以下函數(shù)
ResourceGroupManager::unloadUnreferencedResourcesInGroup()
18.弄清楚
ResourceGroupManager::geSingleton().clearResourceGroup("Bootstrap");
ResourceGroupManager::geSingleton().destroyResourceGroup("Bootstrap");
的區(qū)別
clear會把該組的對象的引用計(jì)數(shù)減一,而destroy不僅做了clear的事情而且還會把該組刪除掉。
19.你要做loading進(jìn)度條,就讓我們注冊一個ResourceGroupListener來回調(diào)其loading信息吧。