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

时间:2013-10-16 01:07:07

标签: c++ opengl opengl-es ogre ogre3d

我们是一家只有2名程序员的小公司。我们目前使用Adobe Flash / Air为桌面和移动设备制作小型2D和3D游戏。我们希望停止使用该框架并开始学习和开发C ++,因为C ++上有更多更好的库和框​​架。

我不确定要用于渲染的库。我知道Ogre3D是一个很棒的3D内容渲染引擎,但有时我们需要制作2D游戏或“2.5D”游戏,有时需要进行视频播放,所有这些都需要与3D场景混合。

我知道有一些2D框架,比如cocos2D-x和smfl可以与OpenGL一起使用(我对OpenGL了解不多),可以完成我需要的所有2D事情,但这些框架可以与Ogre3D结合使用吗?它是否可以在不需要知道所有Ogre3D内部函数或OpenGL如何工作的情况下完成?

如果Ogre3D可以与任何2D引擎结合使用,我需要学习如何合并框架?

3 个答案:

答案 0 :(得分:0)

鉴于你一直在使用flash,我猜你没有移植旧的C ++代码。

此外,由于您不想知道您正在使用的框架的内部结构或OpenGL的实际工作方式,因此您不需要像C ++这样的低级语言。

丰富的开源库也不是用C ++编写游戏的好理由。

Unity3D拥有免费的基本许可,并提供开箱即用的所有内容。

目前,您可以使用带纹理的平面来完成2D工作,但Unity也将在不久的将来推出一套Native 2D Tools。此外,正在创建new GUI system

对于您认为可能需要的任何C ++库,可能已经内置于Unity中的某些内容可以满足您的需求。如果没有,可能有一个可以使用的.NET端口。如果所有其他方法都失败了,您可以为您需要的任何库编写C接口,并将其用作Unity中的插件。

Unity的一个大问题是,你需要Unity Pro才能使用插件。 Unity许可是按平台进行的,因此,如果您决定使用插件,并在多个平台上发布游戏,最终可能会在licensing fees中支付大量资金。

最后,它不仅仅是您需要的应​​用程序框架。你还需要一个关卡编辑器。构建一个3D级别的编辑器并不是一项简单的任务,鉴于您的团队只有两个人,仅此一个事实就足以认真考虑使用Unity。

因此,除非您移植旧代码,需要对硬件的低级访问,或者对本机代码有特定需求,否则我建议不要使用C ++ ,只需使用 Unity

答案 1 :(得分:0)

是的,Ogre3D可以处理播放视频等“2D任务”。只是3D空间中的一个平面,它被投射到。然而,对于纯2D项目,诸如Ogre3D的3D渲染引擎通常是矫枉过正的。如果您正在谈论2,5D,那么您将重新使用Ogre3D。

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

编辑: Same question已在官方Ogre3D论坛中被问到。

答案 2 :(得分:-1)

我们是另一个致力于游戏开发的小团队。

我们尝试了很多渲染引擎,并最终使用Irrlicht渲染引擎安顿下来。 Irrlicht并不比Ogre 3D好,或者我没有试图证明这一点。我们觉得Irrlicht对我们的需求更加灵活。它还支持2D渲染,并且批处理速度非常快。 Irrlicht可以轻松移植到其他平台,我们花了一周的时间将它移植到Google Chrome NaCl。

Irrlicht是一个非常基本的渲染系统,支持OpenGL和OpenGL ES,因此您可以轻松移动。您可以轻松添加任何高级功能。我们的一些游戏适用于iOS,Android,Windows PC,Mac OSX,Linux和Google Chrome Native Client。