哪个更好?从Allegro或OpenGL开始

时间:2013-04-12 23:34:04

标签: opengl directx allegro

我希望你帮我解决决定问题。

我是一名新手视频游戏程序员。我可以开发Flash,Unity,Android游戏,我知道一点CryEngine。此外,我希望将来开发3D视频游戏。

所以,我决定学习一个可以使用C / C ++的视频游戏库。但我应该学习Allegro或OpenGL还是不同的图书馆?或者我应该直接开始学习DirectX编程?学习Allegro编程是有用的(一个很好的基础)还是浪费时间?

2 个答案:

答案 0 :(得分:6)

  

但我应该学习Allegro或OpenGL还是不同的图书馆?

首先: OpenGL不是一个库!它的'L'曾经意味着库,但最好将它作为“图层”进行反击,因为这就是OpenGL最近的真实情况:程序和图形硬件之间的一层。

OpenGL不是游戏引擎,它不是游戏图形库。 OpenGL是一种低级绘图API。您可以使用它以奇特的方式绘制点,线和三角形。但OpenGL中没有场景,没有对象等。所有这一切都必须由游戏引擎实现。编写游戏引擎非常辛苦。如果您真的想要这样做,我建议您查看一年前发布的Doom3的源代码。

答案 1 :(得分:3)

Allegro几乎与OpenGL无关。

Allegro是简单游戏开发的基本框架,提供基本的2D图形基元,用户输入,文本,声音,计时器等......您可以在Allegro下使用OpenGL,但没有紧密而专业的集成。

OpenGL是一种低级API,专门用于图形。

如果您已经了解Unity和CryEngine,请坚持使用它们。使用OpenGL自己实现一小部分功能将是一个巨大的难题。这并不意味着你不应该学习一些OpenGL,即使是为了好奇和理解这些东西在低级别上是如何工作的。

DirectX是平台限制的,虽然大多数游戏平台确实支持DX,但ARM移动平台正在崛起,并且DirectX不会在它们上运行。 OpenGL可以匹配D3D提供的所有内容,并且它更具可移植性,因此它更值得投资,除非您专注于Windows游戏。然后学习D3D是有意义的,这更容易使用。

许多游戏引擎(包括Unity)将从图形API中抽象出来并使用目标平台提供的最佳功能。

另外,请记住,OpenGL在“都市”模式下不适用于Windows 8,因此如果您想在城域模式下使用高级图形,或者使用ANGLE并坚持使用更基本的OpenGL子集,则必须使用D3D在D3D之上用ANGLE模拟。