目录ios
Osg 2c++
特性. 2程序员
面向用户. 2web
平台支持. 2数据库
许可. 2编程
技术. 2设计模式
高性能. 3网络
Productivity 3架构
数据加载. 3app
工具类. 3
接口化. 4
可伸缩性. 5
多语言支持. 5
寒霜引擎. 5
UE4(虚幻4) 5
Vega 8
简介. 8
应用领域. 9
本质. 9
总结. 9
Vitriols 9
简介. 9
应用. 10
开放性. 10
总结. 10
Oger 10
简介. 10
总结. 11
Cry 11
OpenSceneGraph是一个开源的三维引擎,被普遍的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。OSG采用标准C++和OpenGL编写而成,可运行在全部的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操做系统。OSG在各个行业均有着丰富的扩展,可以与使用OpenGL书写的引擎无缝的结合,使用国际上最早进的图形渲染技术,让每一个用户都能站在巨人的肩上。
OSG是一个开源的三维实时场景图开发引擎,被普遍应用在可视化(飞行、船舶、车辆、工艺等仿真)、加强现实以及医药、教育、游戏等领域。
OSG能够支持几乎全部的操做系统平台,它使用OpenGL ES使得能够支持手持台、平板以及其它嵌入式设备,使用OpenGL使得其能够在全部的家用电脑以及中型大型机和集群上进行工做。
LGPL,在国内不多有人彻底明白各类开源许但是怎么回事,可是你们都在使用开源工程。在中国使用一个引擎就是对该引擎发展的最大贡献,用户多就意味着繁荣和对该引擎愈来愈多的完善(非原文,译者加)。
OSG采用C++书写,使用了标准模版库(STL)。OSG使用场景树的方式来管理三维场景,使用逻辑组来构建场景树,以便进行高效的渲染和遍历等。
OSG使用运行时对各类显卡扩展的实时检测,使得OSG支持从OpenGL1.0到OpenGL4.2以及OpenGL ES 1.1 到2.0的全部设备,因此无论设备新旧,操做系统如何,OSG均能及时识别出它支持什么版本的OGL或OES,而后无缺的在其上运行。
OSG采用模块化的设计,下降了OSG内部模块的耦合性,使得用户更加容易理解。而且OSG提供了丰富的示例,经过阅读这些示例能够很好的学习这些模块(学习例子对于学习OSG是很是重要的---FreeSouth注)。模块化的设计使得用户不只能够只学习和使用本身须要的模块,也能够根据须要定制本身的模块。
OSG的关键特色可使用以下关键词进行总结:高性能、可扩展性、接口化等,具体以下:
支持基于视锥体的裁切、基于遮档的裁切以及其它的小特性裁切,支持LOD、OpenGL状态排序、VAO、VBO以及着色语言、显示列表等全部的图形学里常常提到的提升效率的招数。它使得OSG成为一个效率高,表现力好的引擎。OSG一样支持客户化的LOD,客户能够本身定制基于分页的四叉树场景结构用来实现复杂场景,具体能够看一下VTP和Delta3D以及osgEarth。
OSG的核心支持全部的OpenGL扩展,哪怕是刚发布的最新扩展,对其进行封装,优化使得用户不用关注OpenGL那些底层的代码和扩展等,就能够快速的搭建基于最新特性的三维应用程序。
除对底层代码的封装外,OSG还有着与其它系统相似Performer以及OpenInventor等各类现代高级系统的结合,这些结合的案例可使得用户快速的将OSG与本身的系统相结合提供帮助。OSG和现有与三维相关的,尤为是基于OpenGL的系统有着丰富的结合案例,能够看一下业内知名人士array的osgRecipes、osgXI以及osgCookbook从中获取三维系统与OSG相结合的方案灵感。
OSG支持市面上几乎全部的数据格式,不管是图片仍是三维模型,以及字体等都能很好的读取。
除了支持单一的格式外,OSG还有VPB、osgEarth以及其它不经常使用的扩展来支持对海量数据的处理和读取。
OSG提供一些工具类用来完成一些相互独立的功能,列举以下:
OSG作到不依赖任何与操做系统有关的中间件,只使用标准C++和OpenGL,早期在IRIX上开发,随后扩展到Linux、Windows、Mac、AIX以及Andriod和其它中国人不关心也用得少的操做系统。
OSG的接口化保证了其高度独立,这也使得其除了跨各类平台之外,还能够支持各类UI,好比MFC、QT、SDL、GLUT、WxWidget、Cocoa等。OSG的示例中有这些UI与OSG相结合的例子。(国内使用最多的是QT和MFC--FreeSouth注)。
OSG能够运行在多核的CPU和GPU上,这缘于OSG对OpenGL显示列表和纹理单元以及拣选、绘制遍历等过程实施了保护措施,使这些阶段能够单独为一个线程也能够在一个线程中串行执行。能够经过osgViewer以及全部的例子来配置当前OSG应用程序的线程模型。
Lua、Python、甚至JAVA都有与OSG的结合。
寒霜引擎(Frostbite Engine),是瑞典DICE游戏工做室为著名电子游戏产品《战地》(Battlefield)系列设计的一款3D游戏引擎。该引擎从2006年起开始研发,第一款使用寒霜引擎的游戏在2008年问世。寒霜引擎的特点是能够运做庞大而又有着丰富细节的游戏地图,同时能够利用较低的系统资源渲染地面、建筑、杂物的全破坏效果。使用寒霜引擎能够轻松地运行大规模的、全部物体均可被破坏的游戏。
EA独家
当你的团队和项目很小时,用unity。unity有不少现成的东西能够用,你基本能够靠marketplace买来的东西搭建原型,甚至某些最终业务的核心组件也能够用买来的东西。好比你能够把整个material换成alloy、用ngui替代UI系统、若是你要作个赛车游戏,你能找到从模型、音效、材质、到控制系统一切。
项目大到必定规模时,咱们发现定制化的需求会太多。unity基本对于咱们来讲只是一个编辑器,咱们几乎要把里面全部模块所有找插件或者本身写插件。因此若是当你须要一个稳定的工具集,不想本身维护一堆插件(由于unity在基础功能方面确实作的通常)。并且有一堆人可以扛住每一个模块的制做压力时-对于人员的素质要求更高。那么unreal是更好的选择。
但这也只是针对中型项目这个级别。真上到大型项目时,二者又不会有太大区别。由于这时整个工具流是inhouse的,各个公司会针对本身的产品定义不一样的流程和方式。这会诞生大量插件。并且到这个级别的公司确定也会本身去买unity的源码。此时的需求不管是unity仍是unreal都不会彻底知足一个大型项目的需求。只是渲染部分unreal应该是不须要作什么而已。
因此若是你有时间,能够两个都试下,你才知道本身的业务真的须要什么。
另外说unity画面质量问题的人,我怀疑大家能力。即使是咱们用本身的流程和工具,均可以达到和unreal平级的画面质量。更不用说国外一堆团队作的产品了。unreal只是让一堆作效果图的都很容易产生高质量的画面。
给你看profile根本没意义,在不一样的需求下两个引擎效率和效果都会不一样。仅从单纯效率来讲,提交效率确定是unreal高一些,但大多数项目遇到的瓶颈远不是游戏引擎的瓶颈。
另外,你的回答截图只能说那我的unity多是历来不挂任何插件或本身写点工具。也多是指默认unity和unreal的对比。影响画面的几个点好比lightmess, material, post processing他都没处理过。好比radiosity normal mapping会让lightmess效果好得多,ggx shader也会让材质好表现好一些。因此不管是unity仍是unreal去实现你图右边效果都不是很难的事情。只能说要达到右图的效果对于unreal来讲会很简单,几乎不须要什么经验便可。
Vega是MultiGen-Paradigm公司应用于实时视景仿真、声音仿真和虚拟现实等领域的世界领先的软件环境。使用Vega能够迅速地建立各类实时交互的三维环
境,以知足各行各业的需求。它还拥有一些特定的功能模块,能够知足特定的仿真要求,例如:船舶、红外、雷达、照明系统、人体、大面积地理信息和分布式交互仿真等等。附带的Lynx程序,这是一个用来组织管理Vega场景的
GUI工具。MultiGen Creator系列产品是世界上领先的实时三维数据库生成系统,它能够用来对战场仿真、娱乐、城市仿真和计算可视化等领域的视景数据库进行产生、编辑和查看。这种先进的技术由包括自动化的大型地形和三维人文景观产生器、道路产生器等强有力的集成选项来支撑。MultiGen Creator
是一个完整的交互式实时三维建模系统,普遍的选项加强了其特性和功能。
MultiGen-Paradigm公司已经计划用Vega Prime取代Vega,Vega Prime
所有用C++写成,是全新的产品,而不是Vega的后续版本,虽然目前在功能上比Vega3.7没有大的提升,可是Vega Prime的核心Vega Scene Graph是彻底面向对象的先进架构,采用了许多现代C++的特性和技术,好比泛型,设计模式等,大大增长了软件功能和灵活性、通用性;此外,目前大部分程序员都有面向对象编程经验,Vega Prime提供的接口刚好符合其编程思惟,易于上手,所以特别有吸引力。Vega Prime有很好的发展前景,可是Vega Prime是新推出的产品,最新版本号是1.2,很明显,有的方面还不够成熟。
VagePrime 为仿真引擎,优点在于大场景数据管理,能够知足特殊军事应用(航海、红外、雷达…等)Vega重在强调真实性
Vega Prime 是一个渲染引擎,本质上说是一个类库,它的功能都以类函数的形式而存在,须要c++程序员来完成二次开发,为了简化开发过程,提供了 Lynx Prime,一个图形化的配置界面,在该界面当中,用户能够配置各个物体之间的关系,触发条件。这些触发条件都是事先定义好的,若是是未事先定以的条件,还须要程序员进行开发。整体来讲,若是须要使用Vega Prime来开发应用程式,须要开发人员有较强的程序开发能力,同时项目的时间周期也比较长。
在专项的应用领域,如大地形管理方面,Vega具备不可取代的优点,多大为大地形,地形数据类型和大小,须要用户去衡量考虑;
Vitriols准肯定义为游戏引擎或虚拟现实引擎,其交互互动功能十分强大,2005年以前为独立运营的公司,主要应用于虚拟现实互动,web游戏开发等应用,以后被达索收购,借助其强大的VR功能,在工业用户中被普遍应用:产品
体验,虚拟漫游,交互培训,平台开发等。
Vitriols 以拖拽的方式来定义程序运行的逻辑,提供 500 多个模组,经过不一样模组的组合,能够定制出各式的应用。程序的界面符合人思考的逻辑,相似于流程图的结构,很是容易上手,能够用较少的人员在较短的时间内快速开发应用. Vitriols 同时还提供 Shadows , havok Physics, AIPack,可使用户在较短的时间内开发 具备物理模拟,人工智能应用的程式。
在 Vitriols 中编程体如今三个层面上 1,Building Blocks 2,VSL 3,C++;其在开发上的比例约为60%,30%,10%。 初级程序制做能够只经过Vitriols内置的Building blocks进行构建便可完成,高级程序或平台的开发能够彻底以Vitriols提供的SDK为基础进行开发,SDK是Vitriols提供的基于C++程序的开发包,只要对C++编程熟悉的人,便可对Vitriols的功能模块进行定制。
Virtools通用性更强,开放扩展性更强,适合定制开发程序和定制应用; Virtools能兼容的数据类型最为普遍:3D模型、动画、人物、纹理、文字、声音、场景等各种信息均能整合处理;若要实现后期的虚拟现实扩展应用,建议使用Virtools程序进行程序设计;
OGRE能(实际上就是)被用于开发游戏,可是OGRE被设计成只提供一个世界级的图形解决方案;对于其余的特性,如:音效、网络、人工智能、碰撞检测、物理等子系统,你则须要将其整合到OGRE中,在这些子系统中,已有一些成熟的库可供选择,在发布的SDK中,咱们有一个碰撞/物理的参考整合库的例子。
那为何OGRE不是一个游戏引擎呢?缘由之一是:不是每个须要3D引擎的人都想用其来作游戏,咱们并无假设你要将OGRE用于游戏开发、模拟、商业应用、或是其余用途。其次,游戏产业中的需求是至关普遍的;以MMORPG(Massive Multiplayer Online Role Playing Game,即:大型多人在线角色扮演游戏)为例,它比起FPS(First Person Shooting,即:第一人称射击)类游戏,须要不一样类型的网络库,再如一个格斗类游戏将须要不一样类型的碰撞/物理系统。若是OGRE包括了全部这些特性,你将被迫在一系列内建的假定的需求下使用一套有针对性的库,那将不是一个好的设计。相反,咱们提供了一个用于整合其余库的很是友好的API。许多有经验的游戏开发者已经证实了这一点,由于没有内建的限制。这可能会使得那些仅仅只是想建立另外一种类型的FPS游戏的新用户感到更加沮丧,可是对于这些人来讲,已经有大量现存的采用OGRE提供完整解决方案的综合库可供使用。然而,须要明白的是OGRE自身老是保持足够地独立和灵活,以至可以与任何其余库融为一体。“与其余库协做和整合,而不是实现他们”的原则是面向组件设计的标准原则。
在现在的平台多样性、硬件迭代速度和质量要求下,小团队和低端项目使用开源引擎得不偿失。Unity在很低廉的价格下,提供了足够好的开发效率、通用性和多平台性。用Ogre,谁有精力把各个平台一个个作下来?
高端开发方面,UE4在更加低廉的价格下提供了大部分代码——不是所有开源——若是我没记错的话。UE4原本就不是瞄准低端和手机开发市场。我以为他们的目的更多的在于培植本身的Indie开发者社区。用Ogre是真不如花20刀一个月用UE4。
因此用Unity的人不在意是否是开源,用UE4的人不在意是否是庞大。Ogre真是两头不靠。
如今这个年头,本身从头造车轮,或者拆开车轮本身改,已是不多见的作法了,只有经费充足的AAA项目或者风格过于小众的游戏这么搞。
不支持移动端!性能开销贼大!
CryENGINE是一个很是强大的引擎,由开发公司Crytek设计实现,在第一代Far Cry游戏中首次出现。它被设计用于PC平台和游戏机,包括Playstation 4以及Xbox One。CryENGINE的图像处理能力优于Unity和UDK,可是Unreal Engine 4基本持平,拥有极度先进的光照,逼真的物理模拟,先进的动画系统等等。最近利用CryENGINE开发的游戏是Ryse: Son of Rome。和UDK以及UE4相似,CryENGINE拥有直观并且强大的关卡设计功能。
尽管CryENGINE是一个很是强大的游戏引擎,想要学号是有一点难度的,特别是若是你没有任何游戏引擎使用经验会以为更难。若是你不须要你的游戏具备像这些游戏那样牛X的图像,那么你最好不要选它,而选择一个更容易的哦。
随着UE4的发布以及它很是吸引人的价格模式,CryENGINE也不甘示弱地发布了更便宜的价格模型,即$10/每个月,而且没有版权税哦。