OGRE场景管理器

场景管理器不是单例,您想创建多少就创建多少。

创建方法

1、new SceneManager()

2、Root的createSceneManager方法

 

一般都使用方法2

为什么使用createSceneManager函数?

原因是Ogre的插件系统,比如你使用了OctreeSceneManager插件的话,OctreeSceneManager会将自身注册为ST_GENERIC类型,并且覆盖作为基础的SceneManager类。OctreeSceneManager使用了拣选不可见对象的系统,因此它比标准的SceneManager要快,如果你从plugins.cfg文件中去除了OctreeSceneManager插件,那么当你请求ST_GENERIC类型时,你才可能会使用基础的SceneManager,而方法1只能创建基础的SceneManager。

也许会根据你的插件设置使用更好的场景管理器,这就是Ogre系统的优美所在。

 

创建场景管理器时可以指定名字,通过给场景管理器命名,我们就不再需要再保留指针来跟踪它们。

mSceneMgr = mRoot->createSceneManager("FooSceneManager", "foo");
SceneManager *foo = mRoot->getSceneManager("foo");
//foo指向mSceneMgr

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值