SDL,让你设计更COOL的多媒体程序!
什么是SDL?
SDL是一个跨平台的多媒体开发库,它提供底层的硬件访问能力:声卡、键盘、鼠标、游戏杆、通过OpenGL支持3D、通过framebuffer支持2D。它被用于MPEG播放软件,虚拟器和许多游戏的开发,包括成功移植到LINUX上的“文明:力量的召唤” 。
SDL 支持Linux、Windows、Windows CE、BeOS、MacOS、Mac OS X、FreeBSD、NetBSD、OpenBSD、BSD/OS、Solaris、IRIX、and QNX。
还对AmigaOS、Dreamcast、Atari、AIX、OSF/Tru64、RISC OS、SymbianOS、和OS/2提供了非官方的支持。
SDL是用C语言写的, 但是能够很好的工作在C++上面, 并且可以绑定到其它几种语言上,包括Ada、C#、Eiffel、Erlang、Euphoria、Guile、Haskell、Java、Lisp、Lua、ML、Objective C、Pascal、Perl、PHP、Pike、Pliant、Python、Ruby和Smalltalk。
SDL遵守GNU LGPL协议第二版. 该协议允许你免费的在商业程序中使用SDL,前提是只要你使用SDL的动态连接库。
它能做什么?
视频、音频、事件、CDROM支持、线程、计时器、各种图象文件格式读取、快速绘图、混音、游戏杆支持、网络、MPEG解码等等,且CPU字节顺序无关。
大体上与DirectX比较对应关系如下:
SDL_Video、SDL_Image、OpenGL —— DirectDraw、Direct3D
SDL_Audio、SDL_Mixer —— DirectSound
SDL_Joystick、SDL_Base —— DirectInput
SDL_Net —— DirectPlay
SMPEG、SDL_Video、SDL_Audio、SDL_Sound、SDL_Filter —— DirectShow