3D游戏开源引擎分析
常见的3D引擎有:Unreal,Quake,Lithtech,OGRE,Nebula,Irrlicht,Truevision3D...等,其中开源免费的有:orge,irrlicht,fly3d, NeoEngine, revolution3d, Nebula2,Genesis3d等。OGRE 在免费、开源的引擎中评价最高,一个原因是作为一个图形渲染引擎,它支持的图形特性最多,所以渲染质量也不错;另一个原因是设计模式的清晰;另外,速度也不错。OGRE 将专注于向一个纯粹的、然而富于协作和扩展性的图形引擎发展,这得益于它的庞大的社群支持,使得很多事情可以通过外挂一些更专业的引擎来实现,物理引擎使用 ODE 、 Tokamak 、 NovodeX ,网络引擎使用 openTNL 、 RakNet 、 eNet ,声音引擎使用 FMod 、 OpenAL ,以及界面引擎使用 CEGUI 。
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 |
3D游戏开源引擎分析相关推荐
- 腾讯IEG-计算机视觉(3D游戏渲染引擎方向)提前批笔试面试总结
前面一直在准备出国留学申请,为了以防万一中间便投递了华为.腾讯.阿里三家家公司.幸运的是拿到了华为多媒体算法岗的special offer, 腾讯游戏3D视觉算法岗(真爱),阿里巴巴菜鸟物流算法岗.接 ...
- 常见3D游戏物理引擎总结
1. Havok: 老牌的君王,支持功能如下: http://www.havok.com · Collision Detection - including Continuous P ...
- 安卓3d游戏开发引擎_从德军总部3D到虚幻5,游戏引擎能有多大的飞跃?
关注我们第一时间获得相关资讯 出品|Nova常务组 00 前言 5月13日晚,开发商EPIC Games公开展示了虚幻引擎5的首个演示视频,演示片一经流出,就轰动全网.从从事游戏制作行业的开发者到游戏 ...
- 安卓3d游戏开发引擎_鲁大师安卓3D引擎更新,跑分测试精准度再升级
去年十月份的时候,鲁大师曾发布了针对安卓性能跑分的重大升级版本v9.0.与国内知名游戏工作室"西山居"合作,更换了全新的Unity 3D渲染引擎,又将原有的测试项目进行了部分精简, ...
- 《教你玩魔方》3D游戏开源项目
<教你玩魔方>已经最新登陆GitHub,项目地址:https://github.com/3125788/CrazyCube3D 注意:导入工程时,需要同时导入CrazyCube.MainL ...
- jME发布java 3D游戏引擎:jMonkeyEngine version 2.0
人们经常怀疑早期Java的性能问题,事实也的确如此.但是随着1.4.2.1.5和6.0的发版,java的速度大幅度的提升(光java 6就平均提升了30%),最近要发布的Consumer JRE也正在 ...
- Unity Pro 2019 for mac(3D游戏动画开发工具) v2019.2.21f1
想要一款功能强大的3D游戏动画开发工具?Unity 2019能够轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,以及一个全面整合的专业游戏引擎,用于创建诸 ...
- Unity 3D游戏开发项目《战斗吧!勇士》
目录 版权声明:本博客涉及的内容是对本人游戏作品<战斗吧!勇士>项目的总结,发布在网络上,旨在大家交流学习.互相促进.严禁用于其他一切用途. 摘要 游戏开发技术概述 Unity 3D 游戏 ...
- 玩转五大3D游戏 千元以下主流显卡推荐
大多数DIY用户升级 显卡的目的,是为了体验更好的视觉效果,更流畅的游戏画面.但每个玩家喜好的游戏类型是不同的,需要升级的显卡级别也是有差异的.比如,一位<魔兽世界>的发烧玩家,在发现自己 ...
最新文章
- 深度学习中的激活函数总结
- JQuery事件绑定,bind与on区别
- 使用Fastjson解析List对象时出现:{“$ref“:“$.data[0].task.OBJECTS[0]“}的问题原因及解决方法
- python3最新稳定版本-python3稳定版
- SolrQuery的使用
- AT2705 Yes or No(组合数学)
- 倍福模块通讯协议_认识倍福(Beckhoff)CX5100系列嵌入式控制器
- 统计gitlab代码行脚本_一点也不复杂, GitLab Webhook 自动部署代码
- android代码混淆作用,Android分享:代码混淆那些事
- magic feature_停止将PostgREST称为“ MAGIC”!
- android语音识别和合成第三方
- 操作系统学习---虚拟内存
- Ace Admin前端框架笔记二导航栏Navba
- Taro 与 React 的差异(Taro的约束(keng))
- Google Chrome无法添加扩展程序(插件)的解决方案
- 视比特“AI+3D视觉”产品系列 | 上料装配工作站
- hdu 1232 并查集
- 【解析】阿里+腾讯,专业运作的离职社群的背后
- phpcms mysql 事务_PHPCMS mysql优化教程
- 中国每年出生人口数 1976年 - 2000年 历年男女性别比
热门文章
- Dubbo的多种序列化算法
- java遍历变量_java – 循环遍历众多变量
- 解决winrar压缩文件或文件夹时,文件拒绝访问问题
- jdk下载,安装与卸载,删除注册表
- H2O机器学习平台容器化部署——基于Docker
- 単語境界/非単語境界(¥b, ¥B)
- 混沌工程是什么_平静中的混沌:什么是混沌工程?
- 嵌入式_cpu微架构、互连结构与总线
- ❤️❤️马上安排!闺女想在游戏里成为【超人】,Python游戏开发模块Pygame系列之【介绍及安装】❤️❤️源码
- 狂野飙车4java的音乐_狂野飙车8音乐名字大全 所有音乐目录敬请下载