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

news/2024/11/7 4:44:19/

 

什么是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作为碰撞库,而您可以使用您喜欢的库。


http://www.ppmy.cn/news/569991.html

相关文章

(五)flax Engine 游戏引擎——载具

2021SCSDUSC 上次我们讲述了flax Engine游戏引擎中的最基本的组成结构刚体和其源代码的分析。本次我将讲述flax Engine游戏引擎中的WheeledVehicle(载具)的相应的源代码的分析。 按照惯例本次我将针对flaxEngine 游戏引擎中的WheeledVehicle&am…

什么是引擎

什么是引擎 前言 引擎这个词在编程中出现越来越多,比如游戏引擎,爬虫引擎,规则引擎。引擎这个最初在汽车里面代表发动机的词,到底是指什么意思,而引擎在不同编程的语境中具体又代表了什么,本文就是为了解…

游戏引擎Flax Engine源码分析(十一)渲染

2021SCSDUSC 一、概述 这篇博客继续分析2D渲染的后续内容。 二、分析 函数DrawBezier()绘制贝塞尔曲线。参数:p1起点、p2第一个控制点、p3第二个控制点、终点、color线条颜色、thickness线条粗细。 static void DrawBezier(const Vector2&a…

Unreal Engine虚幻引擎 5

ref:http://next.poppur.com/Stylish/10596.html https://www.unrealengine.com/en-US/blog/a-first-look-at-unreal-engine-5 Author:Alex 发表时间2020-05-14 12:09:33 2012 年,Epic Games 首度展示了游戏引擎 Unreal Engine 4 的实机视频,该引擎强…

Rendering Engine 主流的浏览器内核(排版引擎、渲染引擎、解释引擎)有哪几种,分别的特点...

一、A web browser engine A rendering engine is software that draws text and images on the screen. The engine draws structured text from a document (often HTML), and formats it properly based on the given style declarations (often given in CSS). Examples of…

高层游戏引擎——基于OGRE所实现的高层游戏引擎框架

这是意念自己的毕业论文,在一个具体的实践之中,意念主要负责的是物件和GUI之外的其他游戏系统。意念才学疏陋,望众位前辈不吝赐教。由于代码质量不高、环境很难于配置、资源包过大等问题,意念暂先不提供代码和程序,未来…

著名游戏引擎及其开发游戏

著名游戏引擎及其开发游戏 Unreal 虚幻引擎(Unreal Engine)是一款由Epic Games开发的游戏引擎,多用于开发第一人称射击游戏,最新版本为虚幻引擎3。虚幻3引擎(Unreal Engine 3)又称虚幻引擎3,是…

虚幻引擎(1)-角色跳跃

文章目录 前言其他介绍下一篇笔记动态预览图蓝图预览 一、创建操作映射(绑定跳跃按键)[1]. 打开操作映射界面[2]. 添加操作映射 二、蓝图节点介绍[1]. 触发事件[2]. 跳跃[3]. 停止跳跃 三 、角色蓝图[1]. 创建角色蓝图类[2]. 角色蓝图类的编辑[3]. 添加组件[4]. 调整相机视角[5…