典型开源3D引擎分类比较
Standard | OGRE | IrrLicht | Truevision3D |
General | |||
Type | Only rendering engine |
| Game engine Include TV3DEngine,TV3DMedia,TV3DNet…… |
Languages | Written in pure C++, totally object orientated. | Written in pure C++, totally object orientated. | Written in C++ and VB6 with DirectX8.1 |
License | LGPL | zlib/libpng License(totally free) | · Free TV3DSDK · Registered Developer License · group or site licenses |
Develop platforms | · C++ · .NET | · C++ · .NET language binding | VB/VC++/DELPHI/ C#/vb.net |
Platforms | |||
Windows | ü Support | ü Support | ü Support |
Linux
| ü Support | ü Support |
|
MacOS | ü Support | ü Support |
|
3D API | |||
Direct3D | ü Support | ü Support | ü Support |
OpenGL | ü Support | ü Support |
|
Other |
| · The Irrlicht Engine software renderer. · The Apfelbaum Software Renderer |
|
Architecture | |||
Extensibility | · Extensible example framework · Flexible plugin architecture allows engine to be extended without recompilation · Use some other professional engines to achieve other features |
|
|
Scripting |
|
|
|
Materials & Textures | |||
Materials | · Powerful material declaration language · Multiple material · Material LOD · Multi-texture and multi-pass blending · Projective texturing · Textures can be provided and updated in real-time by plugins | · Provide common built in materials based on fixed function pipeline or programmable pipeline · add new materials to Irrlicht at runtime, without the need of modifying/recompiling the engine |
|
Textures and Mapping | 自动产生MipMap;
自动调整纹理大小以满足硬件需求。
支持可程序控制的纹理坐标生成和转换。 | · Bump mapping · Parallax mapping · Light maps · Sphere mapping | DOT3 Bump mapping
没有提供多层纹理和混合模式 |
Shaders | · Supports vertex and fragment programs, both written in assembler, and in Cg, DirectX9 HLSL, or GLSL · Support many commonly bound constant parameters like worldview matrices, light state information, object space eye position etc | · Pixel and Vertex Shaders 1.1 to 3.0 · ARB Fragment and Vertex Programs · HLSL · GLSL | · Hardware Vertex Shaders · HLSL |
Scene Management | |||
General | · Highly customizable, flexible scene management, not tied to any single scene type. · Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc · Scene querying | · Using a hierarchical scene graph, can mix indoor and outdoor scene seamless together · Extensible hierarchical scene management
|
|
BSP Support | BSP 场景的天空穹、粒子特效、高级材质属性,乃至 BSP 的空间分割规则都会被正确识别、自动实现 | · 对 BSP 的特性支持比较贫乏 | 对 BSP 的读取存在 BUG |
Other |
|
|
|
Special effects | |||
Particle System
| · easily extensible emitters, affectors and renderers · can be defined in text scripts for adjusting in real-time · particle pooling | · Customizeable Particle systems for snow, smoke, fire, ... | Atmospheric effects like fog, cloud, sky (box and sphere), stars. |
Light & Shadow
| 当前支持三种阴影:调整纹理阴影,调整模版阴影,附加模板阴影。不支持软阴影 Multiple shadow rendering techniques, | · Dynamic lights · Dynamic shadows using the stencil buffer | · Optimized dynamic stencil shadows · DirectX Hardware Lighting |
Other | · Support for skyboxes, skyplanes and skydomes · Billboarding for sprite graphics · Transparent objects automatically managed
| · Realistic water surfaces · Billboards · Transparent objects · Skyboxes · Fog · Texture animation | Billboard |
Character Animation | |||
| · Skeletal animation · blending of multiple animations · variable bone weight skinning · hardware-accelerated skinning
| · Morph target animation: · Skeletal animation | · Skeleton based, Key frame based, morph based animations · Animations that can be enhanced by bone attaching or custom bone rotations. |
Supported Formats | |||
textures file formats | · PNG, JPEG, TGA, BMP or DDS · 1D textures, volumetric textures, cubemaps and compressed textures (DXT/S3TC) | · PSD,JPG,PNG,TGA,BMP,PCX |
|
mesh file formats | Milkshape3D, 3D Studio Max, Maya, Blender and Wings3D | · 3DS,OBJ,CSM,DAE,DMF,OCT,X,MS3D,MY3D,LMTS,BSP,MD2 | 3DS, X, MDL, MD2, MD3 |
Document | |||
| Great number of users and well documented. | well documented API with lots of examples and tutorials. |
|
Other | |||
GUI |
|
|
|
2D Drawing |
|
|
|
XML | ü Support XML Converter: convert efficient runtime binary formats to/from XML for interchange or editing | ü Support 快速的XML分析器 |
|
Web Site | |||
| http://www.ogre3d.org | http://irrlicht.sourceforge.net | http://www.truevision3d.com |