kar*_*lip 28
SDL是一个跨平台的多媒体库,旨在提供对音频,键盘,鼠标,操纵杆等的低级访问.它还通过OpenGL支持3D硬件.
OpenGL 是一种标准规范,定义了跨语言的跨平台API,用于编写生成2D和3D计算机图形的应用程序.该界面由超过250种不同的函数调用组成,可用于从简单的基元绘制复杂的三维场景.OpenGL由Silicon Graphics Inc.(SGI)于1992年开发[4],广泛应用于CAD,虚拟现实,科学可视化,信息可视化和飞行模拟.它也用于视频游戏,它与Microsoft Windows平台上的Direct3D竞争(参见OpenGL与Direct3D).
J T*_*ana 18
SDL是OpenGL之上的一层; 实际上它默认在Windows上使用GDI,并且还有一个DirectX后端.人们可能会说你可以使用OpenGL 在默认使用OpenGL(ahem,Linux)的平台上克服SDL的限制,因为更高级别的抽象不会暴露这种功能.但是,您的代码"不太"可移植到Windows(或至少使用GDI后端的Windows).
此外,除了图形之外,SDL还做了许多其他的事情 - 音频,输入等,而OpenGL却没有.
关于旋转图形的示例:使用OpenGL(即硬件加速)比使用SDL本身(即在CPU上)更好,因为它通常是计算密集型的(特别是如果你有很多位图来旋转每一帧和你希望效果是平滑的).
但是,除了原因之外,没有任何东西可以阻止您使用SDL_gfx软件包,该软件包具有负责旋转和缩放位图的模块SDL_rotozoom.