编码&设计原理
Coding&Design philosophy
英文原文: http://www.ogre3d.org/wiki/index.php/Coding%26Design_philosophy
编码/设计原理
类的继承
这里有一张表 , 显示了类的继承关系, 也许可以一些概念更清晰些
虽然Ogre是一个场景图表, 但是它的光源, 相机和一些东西并不继承自节点. 这些东西并不需要挂接至场景节点(虽然他们可以挂接)
自定义对象
当创建重复使用的自定义对象时使用Movable Object Factories(可移动对象工厂), 例如粒子系统, 水网格(mesh)(例子中的water demo可以重写为可移动对象)
这使得创建和管理更加简单
修改和重新使用的时候更容易操作
场景管理器
当你需要单独的场景管理时写一个自定义场景管理器
例如 已存在的BSP, Octree(八叉树) 场景管理器
自定义的场景管理器很少需要, 八叉树管理器对于大多数情况是非常棒的缺省选择
在同一时间内, 不能运行多个场景管理器
场景定义
通常使用dotScene XML格式
大多数模型制作者可以导出场景为该模式
在CVS中的OgreAddons源码找到dotScene例子实现
主要循环/初始化
你无需使用FrameListener更新每个帧, 如你需要循环的时候可以手工调用渲染循环
你无需在所有的demo中使用ExampleApplication, 这也许会帮助或者阻碍新手. 可以见下面修改的例子, 可以帮助更清晰的理解ogre需要初始化什么内容
非常干净的代码, 使用FrameListener进行渲染器更新
'Hello world'例子
手工渲染循环例子(只用于window)
一个完整的框架, 统合了许多的库
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pizi0475/archive/2011/04/14/6322384.aspx