posts - 126,  comments - 73,  trackbacks - 0

什么是SDL?
即 Simple DirectMedia Layer,使用 LGPL 许可证。

免费的跨平台多媒体应用编程接口
用于游戏、游戏开发工具、模拟器、样本演示、多媒体应用等
它能做什么?
视频、音频、事件、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
字体、窗口管理等其他实用工具和大量样例
支持哪些平台?
Linux 随系统安装
Win32 需一个到几个较小的DLL
BeOS
MacOS, MacOS X
其他非官方移植
可以在哪些编程语言中使用?
几乎所有!SDL本身用 C 写成,有各种语言的接口。简单的函数调用,不需要COM。

个人观点(不代表任何团体和他人)
总的来说,SDL并不怎么优秀,但它是少数的DX替代品之一。有人会问为什么非得不用DX,也没有非得

不用,至少懒人总是希望用更少的功夫做更多的 事。对大多数人来说,无论DX、OpenGL还是SDL,都是

低层API,尤其DX,如果您精通DX,那么恭喜,您的硬件知识一定也不错。留心的话就会发 现今天的游

戏很多都提供选项:Direct3D、OpenGL、Glide还是Software,既是说很多游戏厂商都根据需要设计了

自己的高层API, 底层是可以替换的。那么也许有人说水平高的厂商都是充分开发硬件功能才有高性能

的表现,那么我举个例子,很多2D游戏的渲染虽然用了 DirectDraw,但却是纯软件在内存帧缓冲区渲

染,最后调用DirectDraw将图象Swap到屏幕。对于2D游戏加今天的机器配置,GDI加直 接帧缓冲操作已

经足够,需要更先进的渲染能力时就要使用3D技术,这也是在DX8中DirectDraw和Direct3D都被基于3D

的 DirectGraphics替换掉的原因。但最主要的是,选择SDL意味着跨平台。

回到正题。象DX一样,SDL的各个部分是可以单独使用的,但必须有SDL_Base。窗口消息管理方式很古

董,写过Win32程序的一定还记得switch...case,没错SDL用就是这个,但完全可以不用它的。SDL的 C

风格很浓,就像DirectX的COM风格很浓一样,用非 C 类语言的人会更愿意封装一下再用。

与DX相比,SDL有更快的启动速度,方便的调试(调试过DX程序吗?:( ),简洁的接口,很小的运行时

库,当然首要的是跨平台。SDL直接支持很多媒体文件格式,与DX比起来非常的方便。但SDL即简单直接

访问媒体层,不象DX支持那么多功能,当然也因为不是每个平台都能提供那么多功能。

样例代码上说,比起DX,SDL的样例非常短小精悍,程序流程是直线式,效果上一点也不差。非C语言的

翻译版本保留了C的风格,没有利用先进的语言特性,是个遗憾。至于帮助文件,绝对不如DirectX,很

多有用的信息是头文件里的注释。但毕竟 C 接口比COM简单得多,看看函数名和样例也就会用了。但没

有中文资料,不爱看英文的可能会头痛。可能的话大家分工翻译一下,毕竟比DX文档少多了。

详细信息在哪里?
http://www.libsdl.org/ SDL首页

http://www.delphi-jedi.org/ Delphi接口项目首页

http://jsdl.sourceforge.net/ Java接口首页

http://csgl.sourceforge.net C#接口首页

http://phpsdl.sourceforge.net php接口首页

使用SDL的游戏有哪些?
http://www.libsdl.org/games.php


有个列表,总之非常多

posted on 2010-08-11 10:22 我风 阅读(615) 评论(0)  编辑 收藏 引用 所属分类: SDL

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(12)

随笔分类

随笔档案

文章档案

相册

收藏夹

C++

MyFavorite

搜索

  •  

积分与排名

  • 积分 - 323969
  • 排名 - 75

最新评论

阅读排行榜

评论排行榜