需要对3D和2D C++框架选择的建议

需要对3D和2D C++框架选择的建议,c++,opengl,opengl-es,ogre,ogre3d,C++,Opengl,Opengl Es,Ogre,Ogre3d,我们是一家只有两名程序员的小公司。我们目前使用AdobeFlash/Air为桌面和移动设备制作小型2D和3D游戏。我们希望停止使用这个框架,开始学习和开发C++,因为C++上有更多更好的库和框架。 我不确定用于渲染的库。我知道Ogre3D是一个很棒的3D内容渲染引擎,但有时我们需要制作2D游戏或2.5D游戏,有时需要视频播放,所有这些都需要与3D场景混合 我知道有像cocos2D-x和smfl这样的2D框架可以与OpenGL一起工作我对OpenGL了解不多,可以做我需要的所有2D事情,但是这些框

我们是一家只有两名程序员的小公司。我们目前使用AdobeFlash/Air为桌面和移动设备制作小型2D和3D游戏。我们希望停止使用这个框架,开始学习和开发C++,因为C++上有更多更好的库和框架。 我不确定用于渲染的库。我知道Ogre3D是一个很棒的3D内容渲染引擎,但有时我们需要制作2D游戏或2.5D游戏,有时需要视频播放,所有这些都需要与3D场景混合

我知道有像cocos2D-x和smfl这样的2D框架可以与OpenGL一起工作我对OpenGL了解不多,可以做我需要的所有2D事情,但是这些框架可以与Ogre3D结合吗?而且它可以在不需要知道所有Ogre3D内部内容或OpenGL如何工作的情况下完成吗


<如果OGR3D可以与任何2D引擎结合,那么我需要学习如何合并框架?

< P>假定你一直在使用Flash,我猜你不是在移植旧的C++代码。

也,因为你不想知道你使用的框架的内部结构是如何工作的,或者OpenGL实际上是如何工作的,你不需要像C++这样的低级语言。 <丰富的开源库不是一个很好的理由来编程你的游戏在C++中。 有一个免费的基本许可证,并提供您所需要的一切开箱即用

目前,您可以使用带有纹理的平面来进行2D工作,但Unity也将在不久的将来推出一系列纹理。此外,正在创建一个应用程序

对于任何你认为你可能需要的C++库,可能已经内置到Unity中了一些你想做的事情。如果没有,可能有一个.NET端口可以使用。如果所有这些都失败了,您可以为您需要的任何库编写一个C接口,并将其用作Unity中的插件

Unity的一个大问题是,你需要Unity Pro来使用插件。Unity许可证是每个平台的,所以如果你决定使用插件,并在多个平台上发布你的游戏,你最终可能会花很多钱

最后,您需要的不仅仅是一个应用程序框架。您还需要一个级别编辑器。构建一个3D级编辑器并不是一个简单的任务,考虑到你的团队只有两个人,这个事实应该足够认真地考虑使用Unity。

所以除非你移植旧代码,需要低级别的硬件访问,或者对本机代码有特殊的需求,我的建议是不要使用C++,只使用Unity。

< P>我们是一个开发游戏开发的小团队。p> 我们尝试了许多渲染引擎,最终使用Irrlicht渲染引擎。Irrlicht绝对比不上食人魔3D,我也不想证明这一点。我们觉得埃尔利希特更能满足我们的需要。它还支持2D渲染,批处理速度非常快。Irrlicht可以很容易地移植到其他平台,我们花了一周时间将它移植到谷歌浏览器


Irrlicht是一个非常基本的渲染系统,它支持OpenGL和opengles,因此您可以方便地移动。您可以不费吹灰之力地添加任何高级功能。我们的一些游戏可用于iOS、Android、Windows PC、Mac OSX、Linux和Google Chrome本机客户端

是的,Ogre3D可以处理播放视频等2D任务。只是三维空间中投影到的平面。然而,对于纯2D项目来说,像Ogre3D这样的3D渲染引擎通常是多余的。如果你说的是2,5D,那么你又在玩Ogre3D了

关于集成:不完全确定,但我想其他2D框架需要一个OpenGL渲染上下文,可以从Ogre获得


编辑:已在官方Ogre3D论坛中被询问

你为什么不使用unity?你可以在食人魔中使用2D。不要忘记2D只是3D中的一个平面。为什么需要将2D引擎与3D引擎结合起来?我认为游戏可以是2D或3D,所以没有理由合并。还是不?另外,在我看来,SFML对于2D来说是非常好的。因为我正在使用Ogre3D,一些快速的评论:Ogre3D也适用于包括NaCl端口在内的许多平台。同样适用于OpenGL和OpenGL ES,所以iOS、Android和WP8都有。一句话:在跨平台支持方面,irlicht和Ogre3D非常相似。我们选择Ogre3D的唯一原因是它比irlicht更先进。Ogre3d具有网格批处理、实例化等高级功能,所有这些功能都在核心中实现。然而,Irrlicht也有这些特性,社区也有一些变化。这给了我们灵活性。这完全取决于你的需要。如果你想在添加之前学习一些东西,你可以选择irlicht,另一方面,Ogre3d已经为你准备好了一切。首先,下一个版本是虚幻引擎4,而不是2。第二,如果你想学习C++,那么使用哪个框架并不重要。他们都有
优点和缺点。由于您最初的问题中遗漏了一些与希望使用OpenCV一样重要的内容,您要么故意忽略了重要的细节,要么根本不知道自己想要什么。这两种情况都阻止了任何人对你的问题给出真正有意义的答案,而不是离题。你征求意见,这是我的。我也更喜欢C++,但是给出了你的目标,这对于一个两人的团队来说似乎非常有抱负,C++可能不是最好的选择。但如果你仍然坚持使用C++,你应该编辑你的原始帖子,更确切地说,你需要什么具体的细节。