初探Ogre 引擎!---- (1)

 

什么是Ogre引擎

 

Ogre 3D是一个成熟,稳定,可靠,灵活,跨平台,而且拥有丰富功能实时3D图形库。Ogre是引擎的简称,Ogre的全称是Object-oriented Graphics Rendering Engine,它是由一个核心小组开发并维护,由于它是一款开源引擎,所以它也像Linux一样,被各种不同的团体和组织改造和扩充,并使它能够适应不同的应用领域和拥有更强大的功能。

游戏引擎和汽车的发动机一样,一部车性能的好坏,跑得快不快引擎是重头戏;一个游戏的效果如何,速度流畅不流畅,画面精美不精美,引擎的好坏很重要。估计有很多看到这篇帖子的人,已经对Dx或者OpengGl有一定的了解了~引擎对原来图形库进行了封装,这样很多底层的技术我们就不必去详究而把我们的精力更多的放在如何做好游戏上;也有一部分同学,可能对Dx或者OpenGL并不熟悉,这也也不妨碍你对游戏引擎的使用,游戏引擎就是为了让你的轻松的做游戏,只是在深入的过程中,要比学过底层的人要累一些;还有一部分人没有学过图形学,那么你最好是学过程序设计,不然的话,估计是很有困难。

 

Ogre并不是一个完整的游戏引擎,它只是一款图形引擎,并且只是一个图形引擎。但是,它可以很方便地与其他的开发库结合起来来创造一个游戏引擎,创建一个游戏引擎也许你还需要更多的组件,比如说GUI,网路,声音或者物理碰撞...

 

 

 

 Ogre并不是一个完整的游戏引擎,它只是一款图形引擎,并且只是一个图形引擎。但是,它可以很方便地与其他的开发库结合起来来创造一个游戏引擎,创建一个游戏引擎也许你还需要更多的组件,比如说GUI,网路,声音或者物理碰撞...

Ogre并不是一款像游戏工厂(Game Factory)那样的游戏外壳或者脚本语言,你需要有更多的知识去了解应该如何使用它,而且它的功能比那些游戏外壳或脚本语言更加的强大。你需要对C++编程有所了解,特别是面向对象的编程方式(object-oriented programming),Ogre并不适合那些刚刚学习编程的使用者,换句话说:你不可以通过学习Ogre引擎来学习C++程序设计。Ogre的适用范围很广,它不像其他的3D引擎,Ogre并不倾向于某一种类型的游戏。由于它的设计,它可以用于从飞行模拟器到第一人称射击游戏到2.5D游戏等等,总而言之,如果那款游戏要使用3D, Ogre就适合开发它。

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

支持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以上编译运行。

强大的材质声明语言允许您在代码外维护材质资源。
支持顶点和片断程序(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作为碰撞库,而您可以使用您喜欢的库。

你可能感兴趣的:(OGRE引擎)