c++ - 跨平台硬件加速 2d C++ 应用程序?

标签 c++ opengl sdl hardware-acceleration

<分区>

我了解相当多的 C++,现在我想探索制作游戏。我想知道就编写仍然跨平台(Windows/OSX/Linux)的硬件加速游戏而言,最好的方法是什么。这将是一个 2d 游戏,但足够密集以至于 CPU 渲染器可能无法削减它。

我知道有 OpenGL,但我似乎找不到任何关于如何以跨平台方式使用它的教程,它们都集中在一个平台上。

使用SDL也是一种可能,但我担心如果我使用它,游戏可能会表现不佳。这一定是真的吗?

最后,我看到了类似 http://www.sfml-dev.org/ 的库这应该会让事情变得更容易,我应该走那条路吗?

再次感谢。

最佳答案

废话不多说

OpenGL 跨平台。不需要 Qt 之类的。只有少数部分必须进行调整:窗口 API 和输入 API,它们是唯一依赖于操作系统特定例程的函数。

你有几种可能性:

  • 自己动手。我不推荐这样做,因为你不会(几乎)学到任何有趣的东西
  • SDL。它有一个 HW 加速的标志,所以它和其他任何东西一样好
  • SFML。这看起来不错,但恕我直言还不够成熟。其他部分(网络,...)是其他库的包装器,所以我看不出有什么好处
  • 过剩。这个是邪恶的。
  • GLFW。这个很棒,真的。我已经使用它多年了。从各个角度来看都是完美的。唯一的限制是您只能有一个 openGL 窗口,但由于它是用于游戏的,所以应该没问题。

关于c++ - 跨平台硬件加速 2d C++ 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3393294/

相关文章:

c++ - C - 使用 scanf() 时额外的换行输入

c++ - 为 C++ 开发设置 Gedit

opengl - 为什么我可以在opengl 3环​​境中使用opengl 4功能

opengl - 使用 OpenGL 和 SDL 处理窗口大小调整

c++ - 如何将 CFG 转换为 C++ 代码

java - LWJGL 使物体始终面朝上

c++ - 从多边形生成纹理 (openGL)

c++ - SDL 错误 : ld returned 1 exit status and no errors displayed

C++/SDL 'void*' 不是点对对象类型

C++11 如何使用 lambda 和高阶函数将 vector 转换为不同类型的 vector