Ogitor的学习(2)---几点体会

1, 首先,无尽的中文,成功地加入TLBB的中文资源后,经过测试后发现,保存出了很大的问题,原因还是utf-8的问题,ANSI保存到ofstream,乱码,正当准备接受好更换UTF的洗礼时,想起了一兄台的帖子,虽然他用的是老版的Ogitor,没用上,但SVN上的代码一直留着呢,仔细看了下他的解决方法,

在OgitorSceneSerializer的Export(),大概281行处,直接将utf改为Unicode,保存

“outfile << "<?xml version=\"1.0\" encoding=\"UNICODE\"?>\n";”

问题KO,感谢

http://blog.csdn.net/harr999y/archive/2010/09/29/5915325.aspx);

2, 当大量添加Mesh进入Ogitor的时候,记得确保Mesh面板是关闭的,否则,很可能会出现渲染器崩溃(这里很神奇,大概是多线程的关系,有事mesh还不是很多的时候,一直点击忽略竟然可以恢复正常,呵呵)。。。Release下还好,debug下加载模型小图的时间可就恼人了(Ogre的特性决定的,大家懂得~),这里涉及到还涉及到一个缓存的问题,想去试一下,希望能瞎猫撞上死耗子,解决之

3, 前面出错的原因,也很可能与模型都是旧的持久化容器造成的问题,这里有个解决方案,

(http://blog.csdn.net/harr999y/archive/2010/09/29/5915268.aspx)又是这位李素颙童鞋的,哎,恨不得直接把人家脑袋里的资料直接Copy过来了。

4, 再者,用了效果十分赞的HydraX之后,再次加载场景,很可能会出错,调试,发现很有可能是水腐蚀效果材质的问题,东西没载好,就开始修改pass了,内存当然不干了,这里僵了下,对Ogitor还不是很熟,为了继续旅程,大胆赌一把,预处理后景物应该还会有遍,直接将PostSceneUpdate注释,(OgitorRoot,AfterSceneLoad,1457)

for(unsigned int i = 0;i < mPostSceneUpdateList.size();i++)

{

   mPostSceneUpdateList[i]->postSceneUpdate(GetSceneManager(),GetViewport()->getCameraEditor()->getCamera(),mRenderWindow);

}

 

顺带上了下官网,前段时间不稳定的hg终于好了,果断Update,熟练地开了Cmake,却发现新版本要求OGRE_BYATIS,也就是正在Dev中Ogre1.8,没办法,开源就是这样,就像MMO里不花钱靠做任务拿高级装备,这不让你跑断腿是怎么也说不过去的,没想到老外都这么赶时髦,Ogre也是hg,没办法,咱只能跟,没想到dev版本,编译就不给过,好不容易搞定了Core,却在Cmake那里被死死卡住了,不知道是不是系统环境变的问题,不管,先看了下代码,发现Dev版中ogitor也还是这样写PostSceneUpdate的,也不知道是不是前边的加载顺序改正了,还是又是郁闷的中文问题。。。

但不管如何,直接hack,问题是解决了,东西虽然丑了些,但毕竟行之有效,呵呵,始终坚信初中英文老师讲的翻译境界,“信达雅”,但有时人太过变通了也不行,btw,bs下工作中遇见的一些伙计,也可能确实是做久便疲了,但我真的认为,如果可以做到更好,为什么不去做到更好?!当下好多人终日所想的只是我如何能做的更少,而非我如何能做得更好,虽然公司不会为你多付一分一毫,但是,自己的真正提升却是在一点一滴之间,就像昨天看的暴雪20周年纪,“唯有对一行热爱者,方能在一行登上属于自己的巅峰!”

5, Ogitor对地形操作的优化还有极大的空间,用着Unity3D,UDK等商业引擎,比起速度效率我们这些开源软件实在是难以望项其背。还有上论坛看见众大牛们正在热议PCZSM,CSG等话题,说实话我也非常期待,这样的室外室内全制霸,做出Wow都不是难事,俺要抓紧啃代码,希望哪天咱也能上去凑合凑合,fix几个bug,以些这些大方善良的GEEK们!

6, 对Ogitor的光照还不是很清晰,初试,大有用Caelum做GI的意思,这点非常好啊,昼夜,地域的变化非常的自然,就是不能用上一些风格化的天空盒,可以想办法融合一下~

最后惯例,上图,呵呵

水下世界

clip_image002

血色残阳

clip_image004

中文搜索,QT真的很强大!

clip_image006

posted @ 2011-04-19 22:59  Zephyroal  阅读(2202)  评论(4编辑  收藏  举报