【发布时间】:2019-03-03 11:21:03
【问题描述】:
我在 SFML 和 OpenGL 中发现了许多类似的功能,例如加载纹理、着色器、精灵、形状等... 但我想知道:什么更好用? 真的有区别吗? SFML 函数/对象是否对用户更友好但速度较慢,而 OpenGL 函数是否更底层但速度更快?
【问题讨论】:
我在 SFML 和 OpenGL 中发现了许多类似的功能,例如加载纹理、着色器、精灵、形状等... 但我想知道:什么更好用? 真的有区别吗? SFML 函数/对象是否对用户更友好但速度较慢,而 OpenGL 函数是否更底层但速度更快?
【问题讨论】:
这取决于你想做什么。简短的回答是 OpenGL 为您提供了更多的控制权并且对图形更加集中,SFML 可以在没有外部库的情况下做更多的事情。没有“更好”的。
SFML 允许访问 PC 的音频、图形、网络、系统和窗口模块。
OpenGL 非常适合编写自定义 2D 或 3D 渲染应用程序,它可以访问操作系统的内部图形功能。
SFML 在底层使用 OpenGL,主要区别在于,在 OpenGL 中,您将从头开始编写自己的 2D 或 3D 渲染器。 SFML 更容易使用,因为你自己做的更少。
至于性能,我没有任何基准测试,但如果你想编写游戏引擎,那么 OpenGL 会提供更多控制,因此它可以实现更高的性能,尤其是对于 3D。 SFML 对于小型游戏和应用程序来说已经足够了。
正如我所说,这取决于你想做什么。我建议阅读更多关于这两者的信息。
【讨论】: