PLSM场景管理器的使用

注:本文为原文转载,未做修改,仅作为参考。

由于Ogre自身的场景管理器不支持大地形, 所以查看了相关资料, 听说PLSM还不错, 就装来试试.
使用过程真不容易, 出现了不少问题.
由于我的Ogre版本为1.6.2, 所以我先升级Ogre版本到1.6.5.
结果升级后, 运行debug版本的程序会跳出 应用程序正常初始化(0xc0150002)失败
网上搜索, 说缺少vs2005补丁, 或者需要运行程序, 总之没有解决问题.
最后研究了半天, 还是下载了 ogre源码, 自己编译出ogremain_d.dll等库文件, 覆盖sdk里面的dll才解决问题. 看来是由于开发人员编译的dll不适用于每台电脑, 以后还是自己编译的dll放心.


解决了应用程序初始化问题, 再去翻关于PLSM的wiki介绍
按照步骤使用PLSM场景管理器, 结果链接的Plugin_PagingLandScapeSceneManager2.dll库有问题
因为PagingLandScapeSceneManager场景管理器每次创建相机的时候在以下语句里出现了异常
void PagingLandScapeOctreeSceneManager::registerCamera (PagingLandScapeOctreeCamera *c)
{
    mPagingLandScapeOctree->traversal(RegisterCameraTraversal(c), 0);

再次研究了半天, 最后还是在ogre论坛里找到了解决方案, 自己重新编译Plugin_PagingLandScapeSceneManager2.dll的工程文件, 但是需要在C++的预编译头中加上该符号 _PLSM_OCTREE
到现在为止, 终于可以运行程序, 看到PLSM的场景管理器创建的场景.

之所以出现这个异常, 根据他人介绍, 这是由于在windows下, 程序缺省情况下不会创建PagingLandScapeOctreeSceneManager对象, 而你的代码则会假定它会创建并使用它, 你可以看到运行该处异常时mPagingLandScapeOctree为Null.

注:转载源地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值