我知道这可能是一个非常主观的问题,但我只想从最简单,最快速的学习开始,这样我就可以尽快开始我的一个小项目,这是一个小小的2D游戏,至少从...开始.你建议我选择哪一个?我正在使用C++
Ree*_*sey 20
第一个问题:你在Windows上吗?如果没有,请使用OpenGL.
如果你在Windows上,这将归结为品味问题.API不同,但OpenGL和DirectX所需的概念非常相似.大多数东西都得到了支持,尽管它们确实有所不同.
Microsoft提供了相当多的示例和一个可以用于DirectX(9或10)的体面框架,这可以使它更容易入门.
话虽这么说,如果你只针对Windows Vista/Win7,那么转移到DirectX 10可能会让生活更轻松.在DX10中删除了DX9及更早版本中的许多烦恼,并且API更加干净.
话虽这么说,如果这是一个游戏,我建议使用像Ogre这样的中间件引擎,而不是直接在DirectX或OpenGL中编写.这将使您的生活更加简单,尤其是在学习的过程中.
如果它只是2D,那么也许值得研究SDL,它已经是跨平台的,似乎很容易学习.网上有很多教程,但我记得的一个特定网站是Lazy Foo的SDL教程.您也可以将OpenGL与SDL混合使用,也有相关的教程.
如果你不想使用SDL,并且你在Windows上,我会推荐使用DirectX.我确实认识到它们之间的选择最终会在互联网上的任何地方结束,但我的理解是DirectX 面向游戏开发者,所以你会发现许多可能促进各种各样的实用程序库,函数和类任务.使用OpenGL,您可以编写跨平台代码,前提是图像加载等辅助功能也是跨平台的(确实存在跨平台库).
所以我的底线是:两者都很好,OpenGL为您提供跨平台代码(只要您编写它),DirectX为您提供更多面向游戏开发的工具和库.