ogre的优缺点
相信初接触游戏开发的同学都会为选什么游戏引擎而左右为难,就如刚学编程时选什么语言那种心情。
不得不批评那些写简介的家伙,毫无一分为二讨论的意识,比如推荐c++的文章,通篇都是讲c++的
强大,然后再谷歌java的简介,发现java和c++一样强大,这给新人带来无尽的困惑和烦恼。
这是我作为ogre版主的第一篇文章,讨论一下ogre的优缺点。希望对还在观望,左右为难的同学有所
启发。由于水平有限,如有错误,多多包涵。
缺点:
1)上手困难,已经无数次听到埋怨ogre自带的例子程序的声音,已经无数次听到开发环境配置失败的
呼救声。接下来我会发一个ogre环境配置的帖子,至于入门源码,个人推荐:
http://sourceforge.net/projects/so3dtools/
只要搞定环境配置,里面的例子足够入门了。当然推荐运行一下ogre sample,绚丽的渲染画面能给
你足够的理由坚持下去。
2)整合困难,ogre只是个渲染引擎而不是游戏引擎,要做出游戏还需要gui库,声音,网络,ai,碰撞检测
甚至物理引擎。相对来说,irrlicht,jme3,panda能更快地开发出一个游戏来。
3)只支持mesh格式的模型,做3d编程无可避免的就是要从3dmax或其他软件中导入模型到程序中,或者将
现有的游戏模型导入到其他软件中编辑。这道门槛难倒新人无数。
4)源码设计过度,只能说,ogre的作者是个设计模式信徒,这样的代码易于扩展却难以修改。
5)效率不高,但也不至于低下,很多谣言说ogre效率低,特别是opengl渲染时。我想这应该是说旧版的,
放心用吧,真是那么慢,搜狐就不会选ogre来做天龙八部了。
缺点挺多,一时想不全,以后慢慢加上。。。。
优点
1)多人用,学个库,学个框架什么的,随大流准没错,多人用资料才多。至于应用就要自己好好甄别了。
有好些引擎看完环境资料就没东西可看了,还要担心它哪天就不维护了,这怎么学。
2)源码优雅,很少有这么庞大的c++代码写的跟java代码一样整洁优美。其中有很多部件是可以分离出来
学习应用了,我就用ogre的内存管理,文件操作,日志系统,字符串操作等模块来做其他项目。
3)高度可扩展,其实这优点就是来自整合困难这个缺点,比如说ogre的物理引擎有bullet,ode,physix,
newton等可选,如果觉得物理引擎代价太高,还可以选opcode作为碰撞检测库。自由这东西本身就是
个让人既爱有恨的存在。
4)跨平台,我个人比较喜欢在ubuntu中写代码,这优点对linux用户来说太重要了。
5)渲染效果好,支持的特性丰富,看看ogre自带的例子就知道,看看天龙八部,火炬之光就知道,ogre
完全是商业级的渲染引擎。
6)免费,版权限制少,这对创业公司来说是最有诱惑力的。
优点更多,一时想不全,以后慢慢加上。。。。