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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值