一、什么是SDL?
SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复杂的音视频底层操作,简化了音视频处理的难度。
SDL使用C语言写成,提供了数种控制图像、声音、输出入的函数,可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
1. SDL 库分类
SDL库分为 Video、Audio、CD-ROM、Joystick 和 Timer 等若干子系统,除此之外,还有一些单独的官方扩充函数库。
这些库由官方网站提供,并包含在官方文档中,共同组成了SDL的“标准库”:
- SDL_image : 支持时下流行的图像格式,如BMP、PPM、XPM、 PCX、GIF、JPEG、PNG、TGA。
- SDL_mixer:更多的声音输出函数以及更多的声音格式支持。
- SDL_net:网络支持。
- SDL_ttf:TrueType字体渲染支持。
- SDL_rtf:简单的RTF渲染支持。
2. SDL 子系统分类
SDL 按照功能可以分成下列数个子系统(subsystem):
- Video(图像): 图像控制以及线程(thread)和事件管理(event)。
- Audio(声音): 声音控制
- Joystick(摇杆): 游戏摇杆控制
- CD-ROM(光盘驱动器): 光盘媒体控制
- Window Management(视窗管理): 与视窗程序设计集成
- Event(事件驱动):处理事件驱动
二、 SDL 开发环境配置
学习阶段推荐使用Visual Studio进行学习,因为环境配置方面相对来说比较简单。后续需要向其他平台迁移的时候,再进一步深入学习和整理。
SDL官网:http://www.libsdl.org/index.php 。目前SDL有两个版本 1.2 和 2.0,建议学习阶段使用 SDL 2.0。