当前OGRE特性

来源:互联网 发布:java基础入门课程 编辑:程序博客网 时间:2024/05/18 01:13
当前OGRE特性

 

产品特性

简单易用的面向对象接口设计,最小化渲染3D场景所需的工作,做到与Direct3D,OpenGL,Glide等3D实现平台无关。
可扩展的例子框架令您的程序运行更快简单。
诸如渲染状态管理,结构包围,透明处理等一般需求已经自动为您完成,节省您宝贵的时间。
引擎中所有的类全都设计简洁,文档完整。
完全的面向对象设计允许您通过插件和子类毫不费力地扩展引擎的功能。

支持的平台与3D API

支持Direct3D(支持DirectX 7和9)和OpenGL。(注意:Ogre1.2.0以后不再支持DirectX 7)
支持Windows(所有主要版本),Linux和Mac OSX
可在Windows平台上的Visual C++ 6,Visual C++ .NET,Visual C++ .NET 2003以及Visual C++ 2005编译运行(Visual C++2003以前的版本需要STLport;注意:Ogre 1.2.0以后不再支持Visual C++ 6 / Visual C++ 7.0)。
可在Linux和Mac OSX gcc 3以上编译运行。

支持的Material / Shader

强大的材质声明语言允许您在代码外维护材质资源。
支持顶点和片断程序(shaders),以及用汇编语言编写的低级语言和用Cg,Direct X 9 HLSL, OpenGL GLSL编写的高级语言。对于许多常用的常量参数如worldview矩阵,光线状态信息,对象空间观察者位置等自动支持。
支持全范围的固定功能操作,例如:多纹理和多通路混合,纹理坐标生成和改变,对于不可编程硬件或低成本材质的独立色彩和alpha操作。
多通路效果,对最近的‘n‘条光线做通路循环。
支持多材质技术,意味着您可以为较大范围的显卡设计相似的效果,而OGRE会自动选择支持得最好的一个。
支持材质LOD;your materials can reduce in cost as the objects using them get further away
从PNG,JPEG,TGA,BMP或DDS文件中装载纹理,包括不常见的格式,例如1D纹理,体纹理,cubemaps,HDR(高动态范围)以及压缩纹理(DXT/S3TC)。
所有可支持的格式都支持动态纹理,以有效地在纹理上回放电影和其它实时内容。

网格

接受灵活的网格数据格式,分离顶点缓冲器,索引缓冲器,顶点声明和缓冲器映射的概念。
可从许多建模工具导出模型,包括Milkshape3D,3D Studio Max,Maya,Blender和Wings3D。
骨骼动画,包括多动画混合以及各种骨骼weight skinning。
二次贝塞尔曲面。
渐近网格(LOD)。
OpenGL式的初始创建。

场景特点

高度用户定义,灵活的场景管理,不绑定任何一个场景类型。可以使用预定义的类进行场景组织,或者插入您自己的子类以取得对于场景组织的完全控制。与其它引擎被限制只针对某一特殊场景类型不同,OGRE允许您有效地渲染任何您想渲染的场景。
可通过边界体结构性地裁剪的通用场景管理器(SceneManager)。
基于BSP的插件可以进行快速室内渲染,装载Quake3关卡,包括渲染脚本分析支持。
Octree插件可以裁剪基于八叉树的通用场景。
地形插件可以渲染geo-mipmapped地形。
结构化场景图;允许对象附加到节点上并跟随它移动等。
建立包括实体和摄像机在内的场景对象的移动路径,使其可以轻松移动。

特效

粒子系统,包括可轻松扩展的粒子发射器和粒子修改器(可通过插件自己定义)。系统可以通过文本脚本轻松修改。为达到最佳表现效果而自动使用粒子池。
支持skyboxes,skyplanes和skydomes,非常容易使用。
用于sprite图像的公告板。
透明对象自动管理(渲染顺序及深度缓冲器设置全都已经为您设置好了)。
层系统允许您建立HUDs和使用2D和3D对象的菜单。
灵活的雾控制。
软件dot3凹凸贴图。
Cube mapping
后处理效果

其它特性

一般资源对于内存管理和从归档文件(ZIP,PK3)中装载的基础架构。
灵活的插件架构使引擎可以被扩展而不用重新编译。
'控制器'可以让您轻松组织不同对象之间的派生数值,例如:基于左侧护甲改变一艘船的颜色。
调试内存管理器,识别内存泄漏。
XMLConverter可以在运行时二进制格式与XML格式之间迅速转换,以方便修改。
为了通过ReferenceAppLayer与其它诸如物理和碰撞等库文件集成,本框架允许您将OGRE几何世界绑定上您选择的物理和碰撞库。这给了您灵活性,使您可以选择使用最适合您的库,而不是被限制只能使用某一个库。许多人已经在用ODE和Tokamok(通过Ogretok)作为物理库,用ODE或OPCODE作为碰撞库,而您可以使用您喜欢的库。
 

原创粉丝点击