name |
OGRE |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
C++,builds on gcc 3+ on Linux |
description |
一个强大的实时图形引擎。目前全球评价最好使用最广的免费开源引擎,可媲美商业引擎。 |
merit |
支持多种纹理图片格式,包括:PNG,TGA,DDS,TIF,GIF,JPG;支持骨骼动画,内置强大的材质管理和脚本系统,可以不动一行代码去进行材质维护,并且有可视化的编辑工具。文档完善。 |
defect |
入门相对较难,渲染效率低。只专注于图形,不包含声音、网络等模块,但留有接口,如有需要,可以添加第三方外挂库,如物理库、音频库等结合开发。 |
name |
Irrlicht |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
C++ |
description |
著名的“鬼火”引擎 |
merit |
上手很快,易用性强,运行速度快,提供了可以在商业级的3D引擎上具有的动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测。现在网络上有很多Irrlicht的增强程序,可以拿来使用。 |
defect |
对BSP支持较为贫乏 |
name |
jmonkey |
Supported Graphic lib |
OpenGL 、Direct3D |
Develop Language |
Java |
description |
JMonkey 3D 是一款用于java 3D引擎 |
merit |
封装了OpenGL,提供全性能的工具包,主要有图片解码器、文件解码器、GUI系统、粒子系统、物理系统、光照系统等,功能很齐全。 |
defect |
JME对于OPENGL封装得太好, 以至根本找不到GL的痕迹, 很多底层优化无法修改。目前只支持opengl es 2.0 |
name |
Catcake |
Supported Graphic lib |
OpenGL |
Develop Language |
C++,java |
description |
Catcake是一款跨平台的Java 3D图形引擎,也有C++版本 |
merit |
有专门的android版本,易用性和运行性能上有出色的表现。 支持音频处理和视频播放。 |
defect |
文档不足 |
name |
jPCT-AE |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
jPCT-AE是jPCT在Android平台上的移植版本,以java语言为基础 |
merit |
体积小,专门的Android移植版本,有着惊人的向下兼容性,可以运行在JVM1.1环境之中,因为jPCT内部提供的图形渲染 接口完 全符合所有的Java 1.1规范。 |
defect |
Java编写,效率有待考量 |
name |
Horde3D |
Supported Graphic lib |
OpenGL |
Develop Language |
C++ |
description |
Horde3D is a small open source 3D rendering engine |
merit |
简单易懂,自带了场景编辑器,集成了简单的模型编辑,粒子编辑,动作编辑等功能 |
defect |
效率不是很高 |
7、min3D
name |
min3D |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
lightweight 3d library/framework for Android using Java with OpenGL ES targeting compatibility with Android v1.5/OpenGL ES 1.0 and higher. |
merit |
专门的android 3d UI引擎,非常小巧,只有几百K。基于opengl es 1.x, 封装了opengl 的一些基本的绘图操作以及绘图管理和渲染操作。提供了一个活动类RenderActivity,上手容易。 |
defect |
功能相对简单。 |
8、gamine
name |
gamine |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
一款小型的java 3D引擎 |
merit |
专门为Android开发的引擎,体积小,调研容易 |
defect |
效率稍低 |
9、Alien 3D
name |
Alien 3D |
Supported Graphic lib |
OpenGL |
Develop Language |
Java |
description |
java编写的OpenGL ES接口的3D游戏引擎 |
merit |
3DS装载、2D 粒子、原型插件,tiled地图、精灵动画 |
defect |
研究资料太少 |
上述列举了引擎的介绍,优缺点等,大家可以根据自己的需要和侧重点选择,其中,OGRE和Irrlicht是比较成熟的产品,是开源的3D引擎中使用比较多的,网上有较多的文档和使用经验。 另外引擎的选择,重要的两点:1、效率,算法是否足够优秀;2、效果是否足够好,能不能达到你想要的绚丽效果,锯齿是否严重,运行时是否清新等。
下面着重列举两个引擎做对比。
|
OGRE |
Irrlicht |
开发语言 |
C++ |
C++ |
易用性 |
门槛较高 |
易懂,入门低 |
效率 |
opgl渲染较慢 |
较高 |
美观 |
渲染的效果很好,清晰, 视觉效果好 |
运动较流畅,视觉效果还可以 |
资料 |
很多,被广泛研究和移植, 有很多项目和经验可以借鉴 |
全面,很多成功开源的项目及经验 |
移植性 |
需要参考资料移植 |
专门的Android版,移植简单 |
使用率 |
很成熟,免费3D图形引擎 中评价最高,使用率广 |
成熟的引擎,使用率较广 |
纹理格式和场景格式 |
lPNG, JPEG, TGA, BMP
l3D Max, Maya, Blender
|
l PSD,JPG,PNG,TGA,BMP
l3DS,OBJ,MY3D,CSM,DAE,DMF,MS3D, LMTS, MD2
|
欢迎大家借鉴和补充。在这要提醒各位,要注意这些3D引擎的开放协议,以免带来不便。
附:各引擎的source地址: