::: 产品概述 :::
OGRE(面向对象的图形渲染引擎)是一款以设计场景定位的功能灵活的3D引擎,该软件采用C++语言编写而成,能够帮助开发员通过使用硬件驱动的3D图像软件更加轻松、直观地创建应用程序。类库对系统库作了详细介绍,包括Direct3D和OpenGL,界面包括全景物体和其它直观的类。
OGRE可以用于(实际上也已被用于)制作游戏,但OGRE其实是一款世界一流的专业图形解决方案,其它功能,如:音效、网络连接、人工智能、碰撞、物理等,需要和其它库配合使用,这点于其它框架相同。还有一个碰撞/物理参考集成库,给用户的操作提供了范例。
用户可以使用OGRE进行游戏、模拟、商业应用等等。其次,即使在游戏业内,客户需求也大相径庭。例如:大型多人在线角色扮演游戏需要的网络库和第一视角射击(FPS)游戏完全不同,模拟飞行和格斗游戏所需的碰撞/物理系统也不一样。如果OGRE要包括所有这些功能,必须提供一整套复杂的内置库,特定要求也过多,这并不是好的软件设计。相反,OGRE提供了易于集成的API,让用户自己选择需要的库。许多经验丰富的游戏开发员都对这一做法表示赞同,因为这种方法没有内在的制约因素。对于只想制作FPS风格游戏的新用户来说,可能有些难以操作,但现在市面上也有很多使用OGRE的框架,配有所需的各种库,可提供完整的解决方案。OGRE本身是独立的软件,具有较强灵活性,可与多种框架软件集成。OGRE坚守“构件设计”的原则,将设计方向定位于与其它库进行合作及整合。
为什么要使用OGRE
OGRE是以设计为导向,而不是以功能为导向。OGRE具备的每一项功能都经过充分考虑,与整体设计完美结合,并经进行了档案记录,多项功能有机结合,形成一个连贯的设计整体。OGRE所采用的设计理念是经过对商业级软件产品的多次尝试和测试过程中总结出来的,其中对象定位只是手段之一,除此之外还经常使用设计样本。
OGRE对游戏或掩饰的类型不做限定,采用灵活的分类层次结构,让用户能够根据自己的需要自如地设计专门的插件来组织和制作场景。想要快速渲染室内色阶?可以使用OGRE事先编写好的BSP/PVS插件场景管理器。想要创建室外景观?可以使用其它的插件场景管理器。同本产品相比,其它引擎的功能相对比较陈旧。
总而言之,如果你看重设计质量、灵活性以及清晰的档案记录,那么请您选择OGRE,它将是您满意的解决方案。
产品功能
高效率特点
简言之,面向对象的接口设计十分方便,能够极大地减少渲染三维场景所需的工作,并且是独立于Direct3D/OpenGL等三维执行的。
可扩展的样本框架使您的应用程序运行更加快速和简单
- 处理状态管理、空间筛选、透明度处理等一般要求可自动完成,为用户节省了宝贵时间。
- 设计简洁,对所有引擎类别都进行完整的档案记录。
- 引擎稳定可靠,已在多个商业产品中得到印证。
平台及三维API支持
- 支持Direct3D和OpenGL。
- 支持Windows(所有主要版本)、Linux和Mac。
- 采用Visual C++和Code Blocks在Windows系统上编写。
- 采用ggc 3+在Linux/Mac OSX版(使用XCode)系统上编写。
- 支持材料/着色器。
强大的材料说明语言,让用户能够在代码以外保村材料属性
- 支持顶点和片段程序(着色器)、采用汇编程序编写的低级别程序和采用Cg、DirectX9 HLSL,或GLSL编写的高级别程序,并自动支持许多常用的捆绑常数参数,如全景矩阵、光态信息、物体空间眼部位置等。
- 支持完整的固定功能操作,如多纹理和多次混合、纹理坐标生成和修改、以及对非程控硬件和低成本材料的独立颜色及Alpha操作。
- 多通路效果,对n个照明灯的通路迭代。 支持多种材料的技术手段,用户可以使用各种卡设计替代效果,OGRE将自动选用支持效果超好的材料LOD技术,材料使用越多,其成本将会越低。
- 以PNG、JPEG、TGA、BMP或DDS文件格式导入纹理,也包括不常用的格式,如1D纹理、体积纹理、立方贴图、和压缩纹理(DXT/S3TC)。
- 可以通过插件对纹理进行实时更新,例如视频文件。
- 可支持易于使用的投影纹理。
网格
- 可以接受多种网格数据格式,顶点缓冲、索引缓冲、顶点声明和缓冲区映射等概念分离。
- 针对曲面的Biquadric Bezier补丁。
- 递进网格(LOD值),手动或自动生成。
- 静态几何批处理器。
动画
- 支持复杂骨架动画。
- 融合多个动画与变权值。
- 可变/多骨重蒙皮。
- 软件和硬件加速蒙皮管道和智能缓冲共享。
- 手动骨骼控制。
- 可配置的插值模式,平衡了准确性与速度。
- 支持灵活的形状动画。
- 用于遗留应用程序的变形动画,可在形状快照之间进行简单的线性混合。
- 用于现代形状动画的姿态动画,用户可以在时间轴上以不同变权对多个姿态进行混合,例如人面部动画中的表情/口形等。
- 这两种技术可根据硬件支持情况在硬件及软件上使用。
- 用于摄像机路径的场景节点动画,和类似技法,需要时采用条插值法。
- 通用动画轨道可以接受可插拔对象适配器,用户可以随时对任何对象进行动画处理。
场景特点
- 灵活度极高的可定制场景管理,不局限于任何单一的场景类型。对场景组织可以使用符合自己子集的预定义的分类,实现对场景结构的全方位控制。
- 范例插件对处理特定布局类型(如:BSP、Octree)场景的不同方法进行了说明。
- 分层场景图、节点允许目标相互连接,并跟随对方的运动以及关节结构等。
- 多重阴影渲染技术,包括模块化技术和添加式技术,以模板和纹理为基础,可进行自由配置,而且充分利用了现有的硬件加速。
- 场景查询功能。
特殊效果
- 排序制度,可更加轻松地设置全屏后处理效果,也可根据需要使用脚本实现。
粒子系统,包括易于扩展的发射器、影响器、和渲染器(可通过插件定制)。可使用文本脚本对系统进行定义,便于调整。自动使用粒子汇集功能,以提高性能。 - 支持skybox、skyplane和skydome,非常易于使用。
- 电子拼图展示。
- 条带步道。
- 自动管理透明物体(已经完成渲染顺序和深度缓冲设置)。
其它功能
- 内存管理的共用资源基础设施,可从档案(ZIP、PK3)中导入。
- 灵活的插件架构确保引擎可进行拓展,而无需重新编译。
- “控制器”让用户轻松对目标之间的衍生数值进行安排,如:按照船只护板的颜色更改船体的颜色。
- 调试内存管理器,对记忆遗漏进行识别。
- ReferenceAppLayer针对如何将OGRE与其它库(如:针对碰撞和物理特性的ODE)整合提供了参考范例。
- XMLConverter可以对系数运行二进制格式与XML进行相互转换和编辑。
::: 应用范围 :::
适用于游戏、模拟、商业应用等诸多领域。
::: 技术特征 :::
- 面向对象的接口设计十分方便,能够极大地减少渲染三维场景所需的工作
- 可扩展的样本框架使您的应用程序运行更加快速和简单
- 支持Direct3D和OpenGL
- 强大的材料说明语言,让用户能够在代码以外保村材料属性
- 可以接受多种网格数据格式
- 支持复杂骨架动画,融合多个动画与变权值
- 灵活度极高的可定制场景管理