码迷,mamicode.com
首页 > 其他好文 > 详细

多媒体开发库 之 SDL 详解

时间:2017-05-31 12:04:02      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:lin   key   字体   windows   多个   支持   同步   回调   ram   

SDL 简介

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

SDL提供的功能

1. 视频
设置8bpp或更高的任意色彩深度的视频模式。如果某个模式硬件不支持,可以选择转化为另一模式。
直接写入线性的图像帧缓冲(framebuffer)。
用颜色键值(colorkey)或者alpha混合属性创建surface。
Surface的blit能自动的转化为目标格式。blit是优化过的,并能使用硬件加速。x86平台上有针对MMX优化过的blit。
硬件加速的blit和fill(填充)操作,如果硬件支持的话。
 
2. 音频
设置8位和16位的音频,单声道或者立体声,如果格式硬件不支持,可以选择转换。
由独立的线程执行音频部分,并提供用户回调(callback)机制。
设计上考虑到了客户定制的软混音器,但实际上在例程中就包含了一个完整的音频/音乐输出库。
 
3. 线程
简单的线程创建API
用于同步的简单的二进制信号量(semaphores)

4. 定时器
读取已流逝的毫秒数。
等待指定的毫秒数。
设置一个10毫秒精度的周期性定时器。
 
5.字节序无关
侦测当前系统的字节序
快速转换数据的函数
读写指定字节序的数据 

SDL 其他的特性

SDL内置了调用OpenGL的函数。
通过使用SDL_image、SDL_ttf、SDL_mixer、SDL_net等外部扩展库,可以轻松实现JPG、PNG、TIFF图像的加载使用,TrueType字体的使用,MP3文件的使用、网络相关的使用等。
SDL也有其他语言的包装,可以在这里查看 SDL用C语言写成,但是可以很容易在C++下面工作,并且SDL绑定了许多其它的语言,这其中就包括Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk。

 

多媒体开发库 之 SDL 详解

标签:lin   key   字体   windows   多个   支持   同步   回调   ram   

原文地址:http://www.cnblogs.com/renhui/p/6922971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!