zoukankan      html  css  js  c++  java
  • Ogre,你的好

    爱情无望,那就只好继续与代码做伴,相依为命了。

    最近上OgreWiki,不知是不是最近屏蔽解除了还是参加了GoogleCode就不一样些乐,发现贡献者栏里与以前有了很大的不同,大家可以去时常瞧瞧,

    http://www.ogre3d.org/about/team

    其中的一位华人大概就是参与TLBB组的成员吧,对他和Sinbad一起膜拜下~~

    Ogre到底有什么好?

    以前了解实在太浅,不好说什么,现在有些体会了,

    觉得得赞美他:

    1, 开源,活跃,MIT授权;

    2, 底层抽象,跨平台,跨API(DX,OpenGL);

    3, 插件化体系设计,相关Addon丰富(PageGeometory,PCZSM,HydraX,Caelum,SkyX,Hikari…);

    4, SceneMgr,场景图系统,及很是受用的RenderQueue;

    5, 十余年世界各地高手的积累,稳定完善的功能,数学,内存,字符串;

    6, 优雅的代码设计,设计模式,STL,第三方库集成;

    7, 很好的ResourceManager

    8, 完善的Material系统,及RtShaderSystem;

    9, 完善的异常机制,及Log系统(做过大型的项目之后对这点感觉更是明显);

    10, 很好的动画系统,独特的Compositor,Paging,Terrain(不断在完善)

    11, 丰富的教材,且有许多成功的典范,而且在愈来越多;

    想了许多,但静下来一写,发现其实也就这样,慢慢再去探究吧,Ogre作为一个图形引擎,本身要完善的也有很多,缺点还有什么?只能说我现在功力不够,还不足以去批评他,但是如果以单纯架构的复杂,设计模式等为由去诟病,敝人实在不敢苟同。

    但要作为一个真正的游戏引擎,要做的还有更多更多,当然Ogre社区上还有很多上层的架构,如:

    多线程(Boost,POCO),

    音频(OpenAL,FMOD)

    物理(Bullet,NxOgre,Havok),

    编辑器(ETM,GOOF,Ogitor),

    编辑器环境(MFC, C++/CLI, C#, wxWidget, QT)

    UI(MyGUI,CeGUI,Hikari,Awesomium),

    网络(RakNet),

    AI,

    脚本系统(Lua,Python,AngelScript)

    游戏引擎(Yake,OGE)

    借鉴一位前辈们的思路,一个完整的游戏引擎应该这样:

    一层:

    数学库

    I/O支持

    资源管理

    日志系统

    第二层:

    渲染器

    (Ogre完成了这前面几项)

    物理系统

    声音层

    网络层

    第三层:

    场景管理系统

    特效系统

    动画管理系统

             GUI系统

    第四层:

             AI,脚本驱动系统

    开发工具:场景编辑器、材质编辑器、动画编辑器、GUI编辑器、逻辑编辑器、特效编辑器等辅助管理工具。

    比如基于Ogre的一个需要商业授权的Neoxis,试了下发现还是不错的,努力,要早日完成属于自己的一个~~

    clip_image002

  • 相关阅读:
    idea 中main 方法运行错误二
    shiro 忘记加密后的密码怎么办?
    idea 中 Caused by: java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
    Date 类型的比较
    oracle中数据类型对应java类型[转载]
    mybitis面试题基础必考 Mybatis 中$与#的区别
    301
    201
    0
    Apache负载 均衡
  • 原文地址:https://www.cnblogs.com/Zephyroal/p/2067386.html
Copyright © 2011-2022 走看看