OpenGL和Images / Sprites

时间:2013-11-06 02:08:41

标签: opengl sfml

如果我想在我的SFML窗口中显示精灵和/或纹理,并在按下按键时移动它,我最好使用OpenGL将精灵绘制到屏幕上(如果可能,我只是开始研究这个问题)或者使用SFML会更好吗?

2 个答案:

答案 0 :(得分:2)

这是一个难以回答的问题,因为它取决于各种各样的事情。

什么是OpenGL& SFML?

的OpenGL

OpenGL(开放图形库)是一个巨大而先进的跨平台API,用于渲染2D和3D图形。 API主要致力于使用GPU来实现硬件加速渲染。

SFML

SFML(简单快速多媒体库)是一种便携且易于使用的2D渲染API。 API运行在OpenGL之上,因此SFML也是硬件加速的。

编辑:SFML是一种多媒体,便携且易于使用的API,适用于各种用途。 API由5个不同的模块组成,用于控制 - 系统,窗口,图形,音频和网络。

OpenGL或SFML

首先,您需要问自己一些问题。

  • 我的经历如何?
  • 以前我和他们中的任何人一起工作过吗?
  • 等...

如果您使用过这两种API中的任何一种,您只需选择使用您已知道的API即可。因为将知识附加到你已经知道的图书馆,通常比学习一些全新的东西容易得多。

如果您不了解OpenGL或SFML,那么选择可能会有点困难,但请记住以下几点。

的OpenGL

  • 这需要很多学习!
  • 你需要处理/创建/使用/了解很多不同的东西,只需使用它。
  • 您需要了解Matrix Mathematics以及Euclidean Vectors以及更多内容,只需简单地完成基本程序。

SFML

  • 如名称 简单 和快速多媒体库中所述,它的意思很简单!
  • SFML为您处理很多事情,您在使用OpenGL时需要自己做。
  • 您不需要需要了解Matrix Mathematics以及Euclidean Vectors只是为了制作基本计划。

结论

  • 如果您了解其中任何一个,请使用您最了解的那个!
  • 如果您还不了解其中任何一个,并且想要一些简单的东西,请从SMFL开始。
  • 如果你想要一些先进的东西并学习很多新东西,并控制每个小东西的处理方式,那就去OpenGL。

当你第一次了解OpenGL时,它真的很容易。虽然在OpenGL中了解大部分或全部事物都不知道,但需要时间!

因此,如果你想从简单的东西开始使用SFML,因为加载Textures并使用它比使用纯OpenGL容易得多,因为在OpenGL中你需要创建自己的Texture类来处理纹理的加载和创建。在SFML中,已经存在纹理类以及加载它们的方式等。

Sprites&纹理

答案 1 :(得分:0)

基本上SFML使用OpenGL,SFML只是一种更简单的方式来访问OpenGL实现的一些功能