2011-05-02 40 views
2

不启动火焰战争....
但我在OpenGL的OpenGL超级的4章和书籍组织不是一个初学者很有帮助,
我我们一直在对每种API的背景进行一些研究,但是很多手指都将Direct3D作为未来更简单的API,考虑到他们实际进行的能力,添加新功能并将其提供出去。学习曲线在OpenGL VS的Direct3D +等游戏组件

主要虽然,我不知道是否有任何一个陡峭的学习曲线,因为我发现的OpenGL相当困难得到使用我的书去......

我应该切换到Direct3D的,如果它更容易学习,如果他们能够再次回到Direct3D,可能会在稍后返回到OpenGL?

顺便说一句,我hping学习这个东西在学习C++一年和未来的游戏编程的背景下,所以我还需要弄清楚如何获得音频,ai等等。 ...

谢谢!! =)

回答

2

您应该切换到Direct3D吗?问问自己以下几个问题:

  • 你想绑定到只适用于Windows开发? [是/否]
  • 您是否准备好每次API的主要版本增加时都花时间学习新的API设计? [是/否]
  • 如果只有在发布下一个主要版本的API之前有一些重大延迟才能使用新的GPU世代的功能,那么你还好吗? [YES/NO]

如果您的回答上述任何与YES,则Direct3D是正确的选择。否则,我建议使用OpenGL:

  • OpenGL适用于所有主要操作系统和平台以及更加模糊的平台。
  • OpenGL的API设计惊人的稳定,基本原理十年没有改变。看看开源游戏Nexuiz Classic,它主要基于Darkplaces引擎,它是对开源的Quake2引擎(针对OpenGL-1.1编写)的改进,并且已经更新以支持所有的现代口哨和钟声基于着色器的渲染。
  • OpenGL的扩展机制允许GPU供应商在发布日期访问最新一代的功能。使用Direct3D,你不得不等到微软发布下一个版本。当NVidia在2006年发布GeForce8800时,它需要半年时间,直到Joe Average Developer可以为其新功能编写Direct3D代码。然而,通过OpenGL扩展,OpenGL程序可立即访问它;我记得我购买GeForce8800的一天(正式发布4天后)将其装入我的机器,并在当天晚上开始使用几何着色器。
1

这听起来对我来说就像你有这个倒退的大部分。

OpenGL绝对比Direct3D更容易学习 - 特别是,您可以对简单的东西使用直接模式,在这些东西中您不关心性能,并延迟处理顶点缓冲区和像素缓冲区等等。曾经有一个显著的性能的缺点相比,Direct3D的,而且进展相对缓慢增加新的功能

的OpenGL。新的发展被移交给Khronos工作而回。虽然有关于一些步骤的Khronos已经采取了一些争议,他们已经做得相当不错,在功能奇偶校验,并且它是一个几年以来我见过的任何真正的性能优势,支持Direct3D无论是。