Hei*_*bug 31 3d comparison irrlicht openscenegraph ogre
我对3D图形非常熟悉(我为一个学术项目开发了一个简单的3D游戏引擎).但是现在我必须用C++开发一个音频/视频工具,里面还需要一些3D功能,所以我不能依赖我的小程序,但我需要一个具有高性能标准和功能的3d引擎框架.
我想知道您对这三种产品之间3D引擎的最佳选择的看法,我听说过:
我需要的要求如下:
回答请记住,我不是在开发视频游戏,而我对最佳框架的选择并不取决于难以使用的程度.我只对框架提供的功能感兴趣.
我想更好地理解使用一个框架而不是另一个框架的差异和优点.
小智 20
首先,OpenSceneGraph(简称OSG)和Ogre3D都有很好的记录,支持,大型论坛等......我不太了解Irrlicht,除了它是最新的.你可能不会错过前两个中的任何一个.有人提到过CrystalSpace; 多年来我没有看过它,但它在功能和API方面远远落后于这些人.
如果我决定,我想知道我关注的是什么领域.例如全地模拟.或者是要呈现什么的感觉.如:从空中看到的地形/地球 在建筑物内部,但有一些外面| 像CAD这样的CAD 信息可视化
我这么说,因为OpenSceneGraph在模拟和军事环境中具有很强的影响力.披露:这是我的领域,我每天都使用OSG.也就是说,我一直想尝试Ogre3D,并在边线上跟踪它多年; 我只是没有解决它.因此,我不能做一个完整的比较和对比.我认为,由于各个项目的历史和主要用户:Ogre3D有更多的视频游戏倾向; OSG更倾向于模拟行业.但是,两者都没有被束缚在那个舞台上.
例如,说我有:
模拟沉重的布娃娃/人:我会选择Ogre3D.
必须使用terrapage文件的模拟:几乎必须去OSG.
我不能代表Ogre3D的Linux方面.但是,主要的开发人员(Robert Osfield)使用Linux/Macs来完成他的所有工作.CMake是用于编译代码的东西.或者只是用apt-get它们来试试.
我敢打赌,如果适当的调整,两者都会获得良好的性能(再次,渲染的是什么...... bsp文件,octtrees,高速飞行?).使用的操作系统可能对它们很重要.
如果没有良好的模型/地形和着色器,你就无法获得任何引擎并认为它看起来不错.可能对两者之间的不同技术有更好的支持,但是必须有一个具体的例子才能得到准确的比较.
在本节中,OSG非常简洁直观.遍历场景,寻找节点,改变子图上的状态,都非常容易.
你没有提到这一点,但我想我会把它扔进去.我会去Ogre3D这里.OSG需要3rdParty或自定义插件.并且,Irrlicht根本不支持它.
ps - 有一些混合(基于OSG):这是Delta3D.它也得到了很好的支持和更新.可能有一个Ogre3D衍生物更像是仿真:).
小智 8
如果要选择引擎或任何中间件,您需要清楚地定义您希望能够执行的操作.你说你没有制作游戏,你需要视频编解码器支持.所以听起来你想要用C++编写的2D/3D,音频和视频播放.
对于2D/3D ogre来说,这是一个很棒的库.它已经存在了很长时间,并且经过了很好的测试,但是orge是一个图形渲染引擎而不是游戏引擎,尽管有第三方库可以添加其他支持.这是麻省理工学院的许可证,非常开放包括商业.
对于视频播放(以及更多),您可以查找诸如FFmpeg之类的库具有LGPL许可证,因此在商业应用程序上没有静态链接.
Irrlicht是一款成熟的游戏引擎.这可能有用,但可能没有.您可能必须更改项目以匹配引擎工作.它使用zlib许可证的副本,该副本可供商业用途使用.
有关您的项目的更多信息很难给出一个好的建议.希望这可以帮助.