【问题标题】:Which is better? Starting to Allegro or OpenGL [closed]哪个更好?开始使用 Allegro 或 OpenGL [关闭]
【发布时间】:2013-04-12 23:34:04
【问题描述】:

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

我是一名新手视频游戏程序员。我可以开发 Flash、Unity、Android 游戏,并且我知道一点 CryEngine。另外,我想在未来开发 3D 视频游戏。

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

【问题讨论】:

  • 这个问题不适合这个网站。

标签: opengl directx allegro


【解决方案1】:

但是我应该学习 Allegro 或 OpenGL 还是其他库?

首先:OpenGL 不是一个库!它的“L”曾经意味着库,但最好将其反向命名为“层”,因为这就是如今 OpenGL 的真正含义:程序和图形硬件之间的一层。

OpenGL 不是游戏引擎,也不是游戏图形库。 OpenGL 是一个低级的绘图 API。 你可以用它以花哨的方式绘制点、线和三角形。但是OpenGL中没有场景,没有对象等。这一切都必须由游戏引擎来实现。编写游戏引擎是一项非常艰苦的工作。如果你真的想这么做,我建议你看一下Doom3的源代码,它已经在一年前发布了。

【讨论】:

    【解决方案2】:

    Allegro 几乎与 OpenGL 无关。

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

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

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

    DirectX 受平台限制,虽然大多数游戏平台确实支持 DX,但 ARM 移动平台正在兴起,但 DirectX 无法在其上运行。 OpenGL 几乎可以匹配 D3D 提供的所有东西,而且它更便携,所以它是更值得投资的 API,除非你只专注于 Windows 游戏。那么学习D3D就有意义了,使用起来稍微容易一些。

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

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

    【讨论】:

    • 您对 Allegro 的 cmets 是什么意思?第 5 版直接基于 OpenGL 构建。它确实适用于 2D 游戏,但它也可以用作任何类型应用程序的跨平台窗口和输入库。它不是引擎,而且确实无法与提到的其他一些东西相提并论。
    • 从来没有说过 Allegro 是一个引擎。你觉得我回答的哪一部分不正确?
    • 没什么,但有些人可能会误解您所说的“它与 OpenGL 几乎无关”的意思。一方面,是的,您可以在不了解任何 OpenGL 的情况下使用 Allegro,但它有助于了解它如何使用 OpenGL,以便您可以更有效地使用它。如果你将 OpenGL 与 Allegro 结合使用,你可以做更高级的事情。
    猜你喜欢
    • 1970-01-01
    • 2011-03-19
    • 2011-01-05
    • 2010-11-24
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多