最常用的开源游戏引擎

xinec (组长) 2009/8/28 顶楼 举报

开放源码软件运动是计算机科学领域的一种文化现象,源自黑客对智慧成果共享、自由的追求。开源运动发展到现在,这种能够积极促进人类文明发展的文化已经渗透到信息、教育、健康等领域,融入了哲学范畴。

我推荐的开源系列

开源游戏:nexuiz
开源软件:blender
开源引擎:xreal

分享到开心网  分享到校内  收藏到QQ书签    订阅本主題RSS更新  美味书签

xinec (组长) 2009/8/28 2楼 举报

最常用的开源游戏引擎

http://hereland.com/2009-05-top-opensource-game-engine/

开源即开放原代码(Open Source),游戏引擎好比赛车的引擎,是用于控制所有游戏功能的主程序,从计算碰撞、物理加速系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。无论是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射击游戏,哪怕是一个只有1兆的小游戏,都有这样一段起控制作用的代码。下面将列出一些著名的且经常被使用的开源游戏引擎。

Delta3D:Delta3D是一个功能齐全的游戏引擎,可用于游戏,模拟或其他图形应用。其模块化设计集成了其他的开源项目,如‘开放场景图’,‘开放动力学引擎’,‘人物动画库’和‘OpenAL’ 。Delta3D把这些开源项目集成到一个易于使用的应用程序编程接口中。下载Delta3D 2.1.0 127MB / Windows XP。

NeoEngine:NeoEngine是一个全功能的用C++编写的开源3D三维游戏引擎。该引擎是多平台的,包括OpenGL和DirectX渲染功能,支持Windows ,Linux和Mac OS X系统,它提供了场景管理,顶点和像素着色,骨骼动画和物理,脚本以及一个完全集成的工具链。NeoEngine 下载地址。

Irrlicht Engine:该Irrlicht Engine是一个开放源码的,高性能的实时3-D引擎,用C++编写,也可用于.Net语言。它采用跨平台设计,使用D3D ,OpenGL与自己的软件渲染。其功能特点可以与商业3D引擎相比。Irrlicht Engine 下载地址。

OGRE(面向对象的图形渲染引擎):OGRE是用C++编写的,以现场为导向,灵活的三维引擎,它主要用于那些利用硬件加速的3D图形应用程序。它的类库提取了所有基础系统库的细节,如Direct3D和OpenGL ,并提供了一个基于世界对象和其他直观类的界面。OGRE 下载地址。

Bullet:Bullet是三维游戏多重物理库,提供最先进的碰撞检测,柔软身体和刚体动力学。这个游戏引擎被许多AAA级的游戏公司用在PS3 ,Xbox 360 ,任天堂的Wii、以及PC上 。这个库可以免费用于商业用途。下载Bullet SDK、Bullet 文档(2MB PDF)。

RealmForge GDK Visual3D.NET :RealmForge是.NET3D游戏引擎Visual3D.NET的前身。 Visual3D.NET的组成包括Visual3D框架,一个游戏引擎,运行时系统,.Net 2.0应用框架,XNA框架,以及Visual3D设计师,一个类似于Visual Studio 2005的可定制的可视化设计工作区,和其他开发工具。下载RealmForge 0.6.2 (81MB)。

Power Render:Power Render是一个为游戏和3D图形准备的软件开发工具包。它为开发者提供了一个API,为艺术家准备了一些工具,这些工具可以实时预览3ds Max、Maya和Lightwave的模型。新版本还可以预览高动态范围成像并支持OpenEXR文件格式。下载 Power Render 6 (35.1MB exe)。

Crystal Space:是一个在UNIX ,Windows和Mac OS X系统下使用的开源3-D SDK,它使用OpenGL或软件来渲染,特色有:曲面,容积雾,动态彩色光线,地形引擎,LOD技术和程序帖图等等。Crystal Space 1.2.1 (5 May 2008)下载地址。

Genesis3D:是一个实时三维渲染环境,可以免费自由下载。


[0] [0] [回复]

xinec (组长) 2009/8/28 3楼 举报

常见3D物理引擎概述
今天帮朋友找3D物理引擎的资料,以前也看过那么多了,一直没有总结过,今天顺便整理一下.

1. Havok:

老牌的君王,支持功能如下:

http://www.havok.com

· Collision Detection - including Continuous Physics?

· MOPP? Technology - for compact representation of large collision meshes

· Dynamics and Constraint Solving

· Vehicle Dynamics

· Data Serialization and Art Tool Support

· Visual Debugger for in-game diagnostic feedback

有不少游戏和软件都选择了他做物理引擎,比如HOLO3,失落星球,HL2, 细胞分裂,指环王Online ..etc现在Havok被Intel收购了,以后可能对Intel的CPU会有特别的优化。

(Tip: HL2的泄漏源代码中包含了SDK,就是版本比较老了吧。)



2. NovodeX --- AGEIA PhysX

新兴的王者,支持功能如下:

http://www.ageia.com/

· Massively Parallel Physics Architecture

· High-speed GDDR3 Memory Interface

· AGEIA Universal Continuous Collision Detection

· AGEIA Physical Smart Particle Technology

· AGEIA Complex Object Physics System

· AGEIA Scalable Terrain Fidelity

· AGEIA Dynamic Gaming Framework

因为特有的硬件卡(物理加速卡-PPU)支持,所以能处理大量的物理运算,其他几款暂时没得比。Unreal3,GameBryo, Reality Engine等多款商业引擎和游戏都使用了他。

(Tip: NovodeX2.2及以前的版本,可以在没有硬件卡的情况下使用所有功能,晚上能下载到)



3. Bullet

开源届的霸主,支持功能如下:

http://www.bulletphysics.com

· Multi Platform support

· Supports various shape types:

· Discrete Collision Detection for Rigid Body Simulation

· Single Queries:

· Sweep and Prune Broadphase

· Documentation and Support

· Auto generation of MSVC project files, comes with Jam build system

· Bullet Collision Detection works with Bullet Dynamics, but there is also a sample integration with Open Dynamics Engine.

· Framework with 2 different Constraint Solvers

· Hinge, Point to Point Constraint, Twist Cone Constraint (ragdolls)

· Automatic de-activation (sleeping)

· Generic 6 Degree of Freedom Constraint , Motors, Limits

· LCP Warm starting of contact points

· Collada 1.4 Physics Import using FCollada and COLLADA-DOM

· Convex Decomposition Code

这款物理引擎的历史也比较久了,但似乎国内知道的ODE的人更多一些,这款物理引擎被Nvidia的开发人员所关注(Nvidia前些时候说过,要用GPU来实现物理加速,可能会最先在这款物理引擎上实现。)

(Tip: 这款引擎是开源的,有兴趣的朋友,可以看看。)



4. ODE

开源的名角,支持功能如下:

http://www.ode.org/

· Rigid bodies with arbitrary mass distribution.

· Joint types: ball-and-socket, hinge, slider (prismatic), hinge-2, fixed, angular motor, linear motor, universal.

· Collision primitives: sphere, box, cylinder, capsule, plane, ray, and triangular mesh, convex.

· Collision spaces: Quad tree, hash space, and simple.

· Simulation method: The equations of motion are derived from a Lagrange multiplier velocity based model due to Trinkle/Stewart and Anitescu/Potra.

· A first order integrator is being used. It's fast, but not accurate enough for quantitative engineering yet. Higher order integrators will come later.

· Choice of time stepping methods: either the standard ``big matrix'' method or the newer iterative QuickStep method can be used.

· Contact and friction model: This is based on the Dantzig LCP solver described by Baraff, although ODE implements a faster approximation to the Coloumb friction model.

· Has a native C interface (even though ODE is mostly written in C++).

· Has a C++ interface built on top of the C one.

· Many unit tests, and more being written all the time.

· Platform specific optimizations.

· Other stuff I forgot to mention...

嘿嘿,这个就不用做过多的介绍了,国内使用和学习这个的人比较多了。只是最近看到他的网页上有这么一句话:“Russell Smith is the primary author of ODE.”不知道是谁又伤害了这位仁兄。

(Tip: Google一下,中文文章一大把。)



5. TOKAMAK

最近想通了,决定开源了。支持功能如下:

http://www.tokamakphysics.com/

· Joints

· Friction

· Stacking

· Collision Detection

· Rigid Particle

· Breakage

这个物理引擎出现也比较早了,作者是日本人,其实日本的游戏也很发达的,能把技术共享出来,难得啊。(日文的技术网站还是很多的。)

6. Newton

更多的专注于生活中的实例模拟。

http://www.newtondynamics.com

这款物理引擎名声可能不是很响,但是功能上绝对不差。比较出名的作品有:TV3D, Quest3D

(Tip:这款引擎支持Delphi;在后面这个非官方的Wiki上,有一套不错的教程: http://walaber.com/newton_wiki/index.php?title=Main_Page )



6. Simple Physics Engine

国产精品,支持功能如下:

http://spehome.cn/

· 使用独创的快速而稳定的Tri-Mesh碰撞检测算法,使载入模型数据异常简单。SPE的碰撞检测系统从一开始就是针对三角形网格(Tri-Mesh)而设计,所以用户可以方便地使用mesh文件创建任意形状的刚体,SPE内部将自动处理所有工作。同时,SPE支持球和胶囊两种基本几何形状,方便用户创建粒子特效和ragdoll系统。此外,SPE支持一定条件下的连续碰撞检测,可以正确地处理大多数情况下的高速运动物体。

· 碰撞信息分析。SPE对碰撞检测系统产生的数据进行智能化分析,为碰撞反应计算提供更可靠更正确的原始数据,极大地提高了系统的稳定性。

· 稳定的碰撞与接触解决系统。从1.5版开始,SPE采用全新的解决算法,更正确地计算摩擦与反弹,而且更稳定。

· SPE提供一种稳定的基本Joint功能,支持最大距离、弹性系数以及破坏力等参数的配置,用户可以使用它方便地创建各种其他类型的Joint。

· 实时刚体破碎。(Beta)。SPE提供“形状操作”的功能,任何模型均可被一组平面或另一个模型切成小块,SPE生成的模型中包括用于区分原始表面与切面的属性信息,方便用户更合理地渲染出新的形状。目前,可破坏刚体的API已经开放。



· 高并行计算。SPE已经完成了多线程化以充分利用多核心CPU的性能. 90%以上的计算任务都可均匀地分配到任意数量的线程中去. 与单线程相比,双线程至少能提供60%的性能提升,而四线程可以带来150%以上的性能提升。使用SPEWorld::SetNumThreads( )即可在任何时候开启多线程计算。

· 简单易用而人性化的接口,极大地降低了SPE与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。

· 更多的功能正在不断开发中……

呵呵,国人做的一款物理引擎,关注….

今天帮朋友找3D物理引擎的资料,以前也看过那么多了,一直没有总结过,今天顺便整理一下.

1. Havok:

老牌的君王,支持功能如下:

http://www.havok.com

· Collision Detection - including Continuous Physics?

· MOPP? Technology - for compact representation of large collision meshes

· Dynamics and Constraint Solving

· Vehicle Dynamics

· Data Serialization and Art Tool Support

· Visual Debugger for in-game diagnostic feedback

有不少游戏和软件都选择了他做物理引擎,比如HOLO3,失落星球,HL2, 细胞分裂,指环王Online ..etc现在Havok被Intel收购了,以后可能对Intel的CPU会有特别的优化。

(Tip: HL2的泄漏源代码中包含了SDK,就是版本比较老了吧。)



2. NovodeX --- AGEIA PhysX

新兴的王者,支持功能如下:

http://www.ageia.com/

· Massively Parallel Physics Architecture

· High-speed GDDR3 Memory Interface

· AGEIA Universal Continuous Collision Detection

· AGEIA Physical Smart Particle Technology

· AGEIA Complex Object Physics System

· AGEIA Scalable Terrain Fidelity

· AGEIA Dynamic Gaming Framework

因为特有的硬件卡(物理加速卡-PPU)支持,所以能处理大量的物理运算,其他几款暂时没得比。Unreal3,GameBryo, Reality Engine等多款商业引擎和游戏都使用了他。

(Tip: NovodeX2.2及以前的版本,可以在没有硬件卡的情况下使用所有功能,晚上能下载到)



3. Bullet

开源届的霸主,支持功能如下:

http://www.bulletphysics.com

· Multi Platform support

· Supports various shape types:

· Discrete Collision Detection for Rigid Body Simulation

· Single Queries:

· Sweep and Prune Broadphase

· Documentation and Support

· Auto generation of MSVC project files, comes with Jam build system

· Bullet Collision Detection works with Bullet Dynamics, but there is also a sample integration with Open Dynamics Engine.

· Framework with 2 different Constraint Solvers

· Hinge, Point to Point Constraint, Twist Cone Constraint (ragdolls)

· Automatic de-activation (sleeping)

· Generic 6 Degree of Freedom Constraint , Motors, Limits

· LCP Warm starting of contact points

· Collada 1.4 Physics Import using FCollada and COLLADA-DOM

· Convex Decomposition Code

这款物理引擎的历史也比较久了,但似乎国内知道的ODE的人更多一些,这款物理引擎被Nvidia的开发人员所关注(Nvidia前些时候说过,要用GPU来实现物理加速,可能会最先在这款物理引擎上实现。)

(Tip: 这款引擎是开源的,有兴趣的朋友,可以看看。)



4. ODE

开源的名角,支持功能如下:

http://www.ode.org/

· Rigid bodies with arbitrary mass distribution.

· Joint types: ball-and-socket, hinge, slider (prismatic), hinge-2, fixed, angular motor, linear motor, universal.

· Collision primitives: sphere, box, cylinder, capsule, plane, ray, and triangular mesh, convex.

· Collision spaces: Quad tree, hash space, and simple.

· Simulation method: The equations of motion are derived from a Lagrange multiplier velocity based model due to Trinkle/Stewart and Anitescu/Potra.

· A first order integrator is being used. It's fast, but not accurate enough for quantitative engineering yet. Higher order integrators will come later.

· Choice of time stepping methods: either the standard ``big matrix'' method or the newer iterative QuickStep method can be used.

· Contact and friction model: This is based on the Dantzig LCP solver described by Baraff, although ODE implements a faster approximation to the Coloumb friction model.

· Has a native C interface (even though ODE is mostly written in C++).

· Has a C++ interface built on top of the C one.

· Many unit tests, and more being written all the time.

· Platform specific optimizations.

· Other stuff I forgot to mention...

嘿嘿,这个就不用做过多的介绍了,国内使用和学习这个的人比较多了。只是最近看到他的网页上有这么一句话:“Russell Smith is the primary author of ODE.”不知道是谁又伤害了这位仁兄。

(Tip: Google一下,中文文章一大把。)



5. TOKAMAK

最近想通了,决定开源了。支持功能如下:

http://www.tokamakphysics.com/

· Joints

· Friction

· Stacking

· Collision Detection

· Rigid Particle

· Breakage

这个物理引擎出现也比较早了,作者是日本人,其实日本的游戏也很发达的,能把技术共享出来,难得啊。(日文的技术网站还是很多的。)

6. Newton

更多的专注于生活中的实例模拟。

http://www.newtondynamics.com

这款物理引擎名声可能不是很响,但是功能上绝对不差。比较出名的作品有:TV3D, Quest3D

(Tip:这款引擎支持Delphi;在后面这个非官方的Wiki上,有一套不错的教程: http://walaber.com/newton_wiki/index.php?title=Main_Page )



6. Simple Physics Engine

国产精品,支持功能如下:

http://spehome.cn/

· 使用独创的快速而稳定的Tri-Mesh碰撞检测算法,使载入模型数据异常简单。SPE的碰撞检测系统从一开始就是针对三角形网格(Tri-Mesh)而设计,所以用户可以方便地使用mesh文件创建任意形状的刚体,SPE内部将自动处理所有工作。同时,SPE支持球和胶囊两种基本几何形状,方便用户创建粒子特效和ragdoll系统。此外,SPE支持一定条件下的连续碰撞检测,可以正确地处理大多数情况下的高速运动物体。

· 碰撞信息分析。SPE对碰撞检测系统产生的数据进行智能化分析,为碰撞反应计算提供更可靠更正确的原始数据,极大地提高了系统的稳定性。

· 稳定的碰撞与接触解决系统。从1.5版开始,SPE采用全新的解决算法,更正确地计算摩擦与反弹,而且更稳定。

· SPE提供一种稳定的基本Joint功能,支持最大距离、弹性系数以及破坏力等参数的配置,用户可以使用它方便地创建各种其他类型的Joint。

· 实时刚体破碎。(Beta)。SPE提供“形状操作”的功能,任何模型均可被一组平面或另一个模型切成小块,SPE生成的模型中包括用于区分原始表面与切面的属性信息,方便用户更合理地渲染出新的形状。目前,可破坏刚体的API已经开放。



· 高并行计算。SPE已经完成了多线程化以充分利用多核心CPU的性能. 90%以上的计算任务都可均匀地分配到任意数量的线程中去. 与单线程相比,双线程至少能提供60%的性能提升,而四线程可以带来150%以上的性能提升。使用SPEWorld::SetNumThreads( )即可在任何时候开启多线程计算。

· 简单易用而人性化的接口,极大地降低了SPE与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。

· 更多的功能正在不断开发中……

呵呵,国人做的一款物理引擎,关注….

今天帮朋友找3D物理引擎的资料,以前也看过那么多了,一直没有总结过,今天顺便整理一下.

1. Havok:

老牌的君王,支持功能如下:

http://www.havok.com

· Collision Detection - including Continuous Physics?

· MOPP? Technology - for compact representation of large collision meshes

· Dynamics and Constraint Solving

· Vehicle Dynamics

· Data Serialization and Art Tool Support

· Visual Debugger for in-game diagnostic feedback

有不少游戏和软件都选择了他做物理引擎,比如HOLO3,失落星球,HL2, 细胞分裂,指环王Online ..etc现在Havok被Intel收购了,以后可能对Intel的CPU会有特别的优化。

(Tip: HL2的泄漏源代码中包含了SDK,就是版本比较老了吧。)



2. NovodeX --- AGEIA PhysX

新兴的王者,支持功能如下:

http://www.ageia.com/

· Massively Parallel Physics Architecture

· High-speed GDDR3 Memory Interface

· AGEIA Universal Continuous Collision Detection

· AGEIA Physical Smart Particle Technology

· AGEIA Complex Object Physics System

· AGEIA Scalable Terrain Fidelity

· AGEIA Dynamic Gaming Framework

因为特有的硬件卡(物理加速卡-PPU)支持,所以能处理大量的物理运算,其他几款暂时没得比。Unreal3,GameBryo, Reality Engine等多款商业引擎和游戏都使用了他。

(Tip: NovodeX2.2及以前的版本,可以在没有硬件卡的情况下使用所有功能,晚上能下载到)



3. Bullet

开源届的霸主,支持功能如下:

http://www.bulletphysics.com

· Multi Platform support

· Supports various shape types:

· Discrete Collision Detection for Rigid Body Simulation

· Single Queries:

· Sweep and Prune Broadphase

· Documentation and Support

· Auto generation of MSVC project files, comes with Jam build system

· Bullet Collision Detection works with Bullet Dynamics, but there is also a sample integration with Open Dynamics Engine.

· Framework with 2 different Constraint Solvers

· Hinge, Point to Point Constraint, Twist Cone Constraint (ragdolls)

· Automatic de-activation (sleeping)

· Generic 6 Degree of Freedom Constraint , Motors, Limits

· LCP Warm starting of contact points

· Collada 1.4 Physics Import using FCollada and COLLADA-DOM

· Convex Decomposition Code

这款物理引擎的历史也比较久了,但似乎国内知道的ODE的人更多一些,这款物理引擎被Nvidia的开发人员所关注(Nvidia前些时候说过,要用GPU来实现物理加速,可能会最先在这款物理引擎上实现。)

(Tip: 这款引擎是开源的,有兴趣的朋友,可以看看。)



4. ODE

开源的名角,支持功能如下:

http://www.ode.org/

· Rigid bodies with arbitrary mass distribution.

· Joint types: ball-and-socket, hinge, slider (prismatic), hinge-2, fixed, angular motor, linear motor, universal.

· Collision primitives: sphere, box, cylinder, capsule, plane, ray, and triangular mesh, convex.

· Collision spaces: Quad tree, hash space, and simple.

· Simulation method: The equations of motion are derived from a Lagrange multiplier velocity based model due to Trinkle/Stewart and Anitescu/Potra.

· A first order integrator is being used. It's fast, but not accurate enough for quantitative engineering yet. Higher order integrators will come later.

· Choice of time stepping methods: either the standard ``big matrix'' method or the newer iterative QuickStep method can be used.

· Contact and friction model: This is based on the Dantzig LCP solver described by Baraff, although ODE implements a faster approximation to the Coloumb friction model.

· Has a native C interface (even though ODE is mostly written in C++).

· Has a C++ interface built on top of the C one.

· Many unit tests, and more being written all the time.

· Platform specific optimizations.

· Other stuff I forgot to mention...

嘿嘿,这个就不用做过多的介绍了,国内使用和学习这个的人比较多了。只是最近看到他的网页上有这么一句话:“Russell Smith is the primary author of ODE.”不知道是谁又伤害了这位仁兄。

(Tip: Google一下,中文文章一大把。)



5. TOKAMAK

最近想通了,决定开源了。支持功能如下:

http://www.tokamakphysics.com/

· Joints

· Friction

· Stacking

· Collision Detection

· Rigid Particle

· Breakage

这个物理引擎出现也比较早了,作者是日本人,其实日本的游戏也很发达的,能把技术共享出来,难得啊。(日文的技术网站还是很多的。)

6. Newton

更多的专注于生活中的实例模拟。

http://www.newtondynamics.com

这款物理引擎名声可能不是很响,但是功能上绝对不差。比较出名的作品有:TV3D, Quest3D

(Tip:这款引擎支持Delphi;在后面这个非官方的Wiki上,有一套不错的教程: http://walaber.com/newton_wiki/index.php?title=Main_Page )



6. Simple Physics Engine

国产精品,支持功能如下:

http://spehome.cn/

· 使用独创的快速而稳定的Tri-Mesh碰撞检测算法,使载入模型数据异常简单。SPE的碰撞检测系统从一开始就是针对三角形网格(Tri-Mesh)而设计,所以用户可以方便地使用mesh文件创建任意形状的刚体,SPE内部将自动处理所有工作。同时,SPE支持球和胶囊两种基本几何形状,方便用户创建粒子特效和ragdoll系统。此外,SPE支持一定条件下的连续碰撞检测,可以正确地处理大多数情况下的高速运动物体。

· 碰撞信息分析。SPE对碰撞检测系统产生的数据进行智能化分析,为碰撞反应计算提供更可靠更正确的原始数据,极大地提高了系统的稳定性。

· 稳定的碰撞与接触解决系统。从1.5版开始,SPE采用全新的解决算法,更正确地计算摩擦与反弹,而且更稳定。

· SPE提供一种稳定的基本Joint功能,支持最大距离、弹性系数以及破坏力等参数的配置,用户可以使用它方便地创建各种其他类型的Joint。

· 实时刚体破碎。(Beta)。SPE提供“形状操作”的功能,任何模型均可被一组平面或另一个模型切成小块,SPE生成的模型中包括用于区分原始表面与切面的属性信息,方便用户更合理地渲染出新的形状。目前,可破坏刚体的API已经开放。



· 高并行计算。SPE已经完成了多线程化以充分利用多核心CPU的性能. 90%以上的计算任务都可均匀地分配到任意数量的线程中去. 与单线程相比,双线程至少能提供60%的性能提升,而四线程可以带来150%以上的性能提升。使用SPEWorld::SetNumThreads( )即可在任何时候开启多线程计算。

· 简单易用而人性化的接口,极大地降低了SPE与其他软件系统结合的难度,使用户在瞬间即可建立一个具有真实物理属性的世界。

· 更多的功能正在不断开发中……

呵呵,国人做的一款物理引擎,关注….

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Rox_Tu/archive/2007/10/15/1824878.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值