我非常熟悉3d图形(我为一个学术项目开发了一个小而简单的3d游戏引擎)。但是现在我必须在C++中开发一个音频/视频工具,它需要一些3d功能,所以我不能依赖我的小程序,但我需要一个具有高性能标准和功能的3d引擎框架。
我想知道你对3d引擎在这3种产品之间的最佳选择的看法,我听说:
我所需的条件如下:
答请记住,我没有开发一个游戏,我选择最好的框架将不会取决于它有多难使用。我只对框架提供的特性感兴趣。
我想更好地理解使用一种框架而不是另一种框架的区别和好处。
发布于 2011-06-16 03:06:07
首先,OpenSceneGraph (简称OSG)和Ogre3D都有很好的文档、支持、大型论坛等等。我对Irrlicht不太了解,而且它是最新的。你可能不会在前两件事上出错。有人提到了CrystalSpace,我已经好几年没有看过了,但是它在特性和API方面远远落后于这些人。
域名
如果我决定的话,我想知道我专注于哪个领域。整个地球模拟。或者是对将要呈现的东西的感觉。例如:从建筑内部的空气中看到的地形/地球,但在外面看到一些CAD的东西,比如维信息可视化。
我这么说,是因为OpenSceneGraph在模拟和军事环境中有很强的影响力。披露:这是我的领域,我每天使用OSG。话虽如此,我一直想尝试Ogre3D,并在场边跟踪了多年;我只是没有时间去做。因此,我不能做一个完整的比较和对比。我认为,由于各自项目的历史和主要用户:Ogre3D有更多的视频游戏倾向;OSG更倾向于模拟行业。但是,这两个人都没有被绑在那个竞技场上。
例如,假设我有:
一个充斥着布娃娃/人的模拟:我会和Ogre3D一起去。
一个模拟必须使用一个terrapage文件:差不多是要去OSG。
跨平台
我不能代表Ogre3D的Linux方面发言。但是,主要的开发人员(Robert )使用Linux/Mac来实现他的所有功能。CMake是用来编译代码的。或者只需使用apt-get来尝试这两种方法。
性能
我敢打赌,如果有适当的调整,两人都会得到好的表现(同样,所呈现的是.bsp文件,八叉树,高速飞行?)。而所使用的操作系统可能对他们很重要。
视觉外观
如果没有好的模型/地形和阴影,你就不能得到任何引擎,并且认为它看起来很好。两者之间可能有更好的支持不同的技术,但它必须有一个具体的例子,以获得一个准确的比较。
场景管理
谈到这一部分,OSG是非常干净和直观的。遍历场景,查找节点,改变子图上的状态,都非常容易。
编写脚本
你没提过这个,但我想我应该把它扔进去。我会去Ogre3D这里。OSG需要一个3 3rdParty或自定义插件。而Irrlicht一点也不支持。
既然你读了我的观点,好像你需要另外一个,这个网站(德沃斯特)对其他人来说是很棒的。不过,还不够详细。
ps -有一种混合(基于OSG的):即Delta3D。它也得到了很好的支持和更新。而且可能有一个更模拟的Ogre3D导数,如:)。
发布于 2011-05-04 22:33:12
如果你想选择一个引擎或任何中间软件,你需要清楚地定义你想要做什么。你说你不是在做游戏,你需要视频编解码器的支持。所以听起来你想要用C++编写的2D/3D,音频和视频播放。
对于2D/3D食人魔来说,它是一个很好的库。它已经存在了很长时间,并且经过了很好的测试,但是orge是一个图形渲染引擎,而不是一个游戏引擎,尽管还有第三方库可以添加其他支持。这是麻省理工学院的许可证,非常开放,包括商业杂志。
对于视频回放(还有更多),您可以查找库,如FFmpeg具有LGPL许可证,因此在商业应用程序上没有静态链接。
Irrlicht是一个成熟的游戏引擎。这也许有用,但可能没有用。您可能必须更改您的项目,以匹配引擎工作。这使用zlib许可证的副本,该副本开放供商户使用。
更多关于你的项目的信息很难给出一个好的建议。希望这能有所帮助。
发布于 2011-05-03 08:09:43
我认为这是个人的选择。我更喜欢Ogre,而不是Irrlitch (糟糕的API)或OpenSceneGraph (糟糕的组合)。Ogre源代码有很多质量,它被许多商业游戏使用。
它不支持视频,但您可以使用第三方库,如Ogre3D视频。
如果你有一个商业项目,考虑统一3d (付费版本,而不是免费)。
所有的3d引擎都非常相似。主要区别在于着色器系统是如何工作的。食人魔有一个漂亮而强大的脚本系统来编写着色器。食人魔,它非常专业,有很好的文档(有很多有用的例子和一个不错的社区)。
https://stackoverflow.com/questions/5419517
复制相似问题