SDL 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
SDL 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
SDL 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 zlib
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发多媒体处理
开源组织
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-12-15

软件简介

Simple DirectMedia Layer 是一个跨平台开发库,旨在通过 OpenGL 和 Direct3D 提供对音频,键盘,鼠标,操纵杆和图形硬件的低级访问。视频播放软件,仿真器和流行的游戏(包括 Valve 的获奖目录和许多 Humble Bundle 游戏)都使用它。

SDL正式支持Windows,Mac OS X,Linux,iOS和Android。在源代码中可以找到对其他平台的支持。

SDL用C编写,可与C ++一起使用,并且有绑定可用于其他几种语言,包括C#和Python。

SDL 2.0 在 zlib许可下分发。该许可证允许您在任何软件中自由使用 SDL。

 

展开阅读全文

评论 (2)

加载中
#SDL# SDL能对一张图片进行3D旋转吗?
2015/06/03 10:13
回复
举报
#SDL# 能对一张图片进行3D旋转吗?http://www.oschina.net/question/856803_238412
2015/06/03 10:13
回复
举报
更多评论
发表于开发技能专区
2019/07/28 07:12

SDL 2.0.10 发布,多媒体和游戏开发包

SDL 2.0.10 发布,SDL(Simple DirectMedia Layer)是一个跨平台的多媒体和游戏开发包,提供 2D,音频,事件驱动,多线程和定时器等服务。 2.0.10 版带来了许多新的 API(包括一些围绕内存分配的 SIMD API 和新的浮点精确呈现 API),现在 SDL 的呈现 API 默认使用批处理,并且改进了 WAV 和 BMP 文件的处理,以解决潜在的安全问题。 在 Linux 方面,SDL 2.0.10 已经放弃了它的 MIR 后端,转而支持 Wayland。因为 Wayland 代码路...

0
8
发表了资讯
2013/11/12 00:00

SDL 2.0.1 发布,多媒体和游戏开发包

SDL 2.0.1 增加对 OpenGL ES、OGL 3、多窗口、显示和音频设备的支持,增加 Android、iOS、树莓派平台支持,提升了 GLES2 渲染性能。 SDL(Simple DirectMedia Layer)是一个跨平台的多媒体和游戏开发包,提供2D,音频,事件驱动,多线程和定时器 等服务,并有大量的扩充开发包,如TCP/IP网络,游戏角色,混音等.SDL是用C开发的,但也有Perl,PHP,Delphi等多种语言的版本....

1
21
发表了资讯
2013/08/15 00:00

SDL 2.0 发布,多媒体和游戏开发包

在游戏开发中常用的开源跨平台图形 API SDL 经过漫长的测试,终于发布了 2.0 版本。 新版 SDL 带来了 Open GL 3.0+/OpenGL ES 支持,全新的 2D API 和力反馈支持等多项新功能。尽管正式版才发布,其实已经有很多 Linux 平台的游戏开发已经基于此版本了,比如 Steam Linux 客户端和不少 Humble 套装中的作品。 同时主要开发者 Ryan Gorden 在 G+ 页面上也对 SDL 2.0 未来(SDL 2.1.0? SDL 2.0.1?)做了些展望,包括 Wayland/Mir 支...

9
19
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2011/07/09 18:19

sdl

SDL、SDL_image及SDL_ttf 交叉编译(mipsel) 已有 623 次阅读 2011-01-29 19:10 标签: 结构图 style home 交叉编译环境 Ubuntu 10.04 内核版本 2.6.32 交叉工具链为 mipsel-linux-gcc-3.3 目录结构图 |-opt |-home |-include |- cross |-bin |- SDL-1.2.13 |-lib |- SDL_image-1.2.10 |-share |- SDL_ttf-2.0.9 |- agar-1.3.4 |-Cross |- libpng-1.4.2 |-target |- freetype-2.4.3 |-local |- libiconv-1.13.1 |- expat-2.0.1 |-...

0
1
2020/05/28 21:55

sdl

SDL 源码下载地址:http://www.libsdl.org/ 或者 hg clone http://hg.libsdl.org/SDL (hg官网下载工具) vscode安装cmake插件编译 主要函数和结构 结构 SDL_Surface内存数据 SDL_Renderer相当于gdi的dc SDL_Texture材质画板 函数 SDL_CreateWindowFrom窗口句柄转SDL_Window SDL_SetRenderDrawColor设置颜色,SDL_RenderFillRect填充 SDL_CreateWindowFramebuffer帧数据缓冲区,屏幕数据缓存 参考 https://blog.csdn.net/cyf15238...

0
0
发表了博客
2020/05/27 07:00

SDL SDL_CondWait剖析原理

/* 永久等待条件变量返回 */ int SDL_CondWait(SDL_cond * cond, SDL_mutex * mutex) { return SDL_CondWaitTimeout(cond, mutex, SDL_MUTEX_MAXWAIT); } /** * 设置的超时时间永远都不会到达 */ #define SDL_MUTEX_MAXWAIT (~(Uint32)0) /* 等待信号量 */ if (ms == SDL_MUTEX_MAXWAIT) { retval = SDL_SemWait(cond->wait_sem); } else { retval = SDL_SemWaitTimeout(cond->wait_sem, ms); } int SDL_SemWait(SDL_sem * sem)...

0
0
发表了博客
2012/09/13 15:35

SDL显示bmp,SDL播放yuv420P

SDL窗口能拖动的代码取自:[这里] 其他的SDL代码取自官网的[Demo]。 // sdl_test_console.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #define YUV420P_320240  320*240*3/2    //115200 void PrintHex(uint8_t *src, uint32_t size); void display_bmp(char* file_name, SDL_Surface *screen); int _tmain(int argc, _TCHAR* argv[]) {   if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) == -1)) {     printf("Cou...

3
0
发表了博客
2014/01/03 02:50

sdl

mingw编译 http://www.libsdl.org/index.php http://www.libsdl.org/download-1.2.php 可下载源码版(全部重编译)或 develop版(小部分编译) 修改makefile文件中的cross_path为/mingw 1.2版(ffmpeg player 暂时只支持这个版本) 修改CROSS_PATH := /mingw make cross 2.0版 先要在/mingw目录下创建两个空目录i686-w64-mingw32和x86_64-w64-mingw32 make cross 需要手动安装 复制/mingw/x86_64-w64-mingw32目录下的所有内容到...

0
0
发表了博客
2012/09/21 13:18

安装sdl

安装sdl一切正常,但是就行编译后的程序却出现了No available audio device的错误.查看sdl 的FAQ也没有找到解决方法. goole也没有找到直接的答案.stackoverflow上也有关于这个问题的回答,但我这试了都没有用.最后在http://forums.libsdl.org/viewtopic.php?t=7609&sid=a1c1c35ffaeddba9cc0bf7854ddce6a0p看到了这样一段话 If you built your own SDL, you probably didn't have development headers for PulseAudio (or ALSA), ...

0
1
发表了博客
2019/06/23 14:31

SDL库

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

0
0
2014/08/16 13:56

SDL介绍

SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难度。 以下转自WiKi: SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。 SDL使用GNU宽通用公共许可证...

0
2
发表了博客
2019/03/03 18:05

SDL 开发实战(四): SDL 事件处理

在前面学习SDL的例子运行时,我们发现我们的窗口只停留了几秒,但是如果设置更长时间显然也有其他的弊端。 那么有没有一种好的办法可以解决这个问题呢?例如:能不能让窗口一直显示,直到检测到用户用鼠标点击关闭按钮后才关闭呢? 答:显然可以! 下面就来介绍一下SDL的事件处理机制。 1. SDL 事件处理机制原理 SDL事件就是键盘事件,鼠标事件,窗口事件等。SDL将所有事件都存放在一个队列中。所有对事件的操作,其实就是对队列...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2015/06/03 10:11

SDL能对一张图片进行3D旋转吗?

给出一张图片,一个3D旋转角度(围绕图片的中轴),然后输出旋转之后的图片。请大神提点!

6
0
发表了问答
2012/10/11 09:48

LIBVLC 能实现在SDL层自己绘制图形吗?

LIBVLC 能实现在SDL层自己绘制图形吗? 我想在播放的视频上 实现拖动鼠标绘制矩形 这个能实现吗?

1
0
发表了问答
2013/08/27 21:52

SDL库的性能怎么样?

ffmpeg的ffplayer程序使用过了SDL库,有用过的讲讲实际经验吧。

9
0
发表了问答
2013/10/04 20:08

SDL_ttf引用缺失,大神求解!!!

在Eclipse中使用SDL开发,在环境中引入了SDL_ttf这个外部库,正确放入了各种库文件和头文件,编译的时候还是报错说找不到函数的引用,同样的SDL_image却没有这个问题,求解~

4
0
发表了问答
2013/10/27 14:33

在CodeBlocks下配置SDL2开发环境

最近在学习SDL的开发,想用平时熟悉的IDE:Code::Blocks来编写SDL程序。但是我按照网上的方法试了一下,都配置不成功.然后编译不了: 我用的是Code::Blocks 12.11.用的SDL2是官网下载的SDL2-dSDL2-devel-2.0.1-mingw.tar.gz (MinGW32/64-bit)开发包版本。 在Code::Blocks下的配置是按照: 建立一个空的工程(Empty Project) 在构建选项下的Search directiories下的编译器路径中添加: D:\SDL2-2.0.1\x86_64-w64-mingw32\include\SD...

13
2
发表了问答
2017/02/28 10:57

SDL中使用Surface+Blit和使用texture+renderer两种绘制方式有什么不同?

请问这两种绘制方式我更应该用哪种?好像除了Surface+Blit之外没什么办法把一个图片画到另外一个图片上,然后整个作为一张图片来渲染,实际上都是重叠绘制的。我想实现基本的GUI(给游戏用),不知在实现方式上有什么例子或建议吗?谢谢!

1
0
发表了问答
2016/12/20 19:26

关于win32消息处理机制,如何返回默认的处理机制?请大神来看看,帮我分析一下问题吧

项目用win32+duilib编写,使用ffmpeg进行播放视频。 代码如下,问题写在代码中 class CDuiPlayFrameWnd : public WindowImplBase {   //。。。   virtual void Notify(TNotifyUI& msg)   {     if (msg.sType == _T("click"))     {       //。。。。       else if (msg.pSender->GetName() == _T("BtnFS"))       {         if (vs)         {           wp.length = sizeof(WINDOWPLACEMENT);           GetWindowPlacement(hWnd, &wp);           SetWindowLong(hWn...

6
0
发表了问答
2015/08/27 17:18

关于SDL在ios运行的问题

@lakeside 你好,想跟你请教个问题:我刚刚开始接触到SDL,从官网下载了一个示例代码看了下,然后就打包了一个静态库准备尝试使用SDL,我看官方demo里面没有ViewController,也没有Xib的,不知道要在哪里引用SDL库,能不能麻烦你给我讲下要在哪里引入这个库?

2
0
发表了问答
2015/07/06 22:17

SDL+Rose:让跨平台编程返璞归真

十多年前,只要学会C/C++,基本就能写所有平台程序。十多年后的今天,说要用C/C++写各平台程序,不少人会认为不可能,原因很多,像平台原生语言就不是C/C++,程序要求部署灵活。——但是,程序员选择何种编程技术往往不能只听平台供应商,它们更多只考虑自个平台利益,当要写的是跨平台程序时,往往要求助开源社区,SDL+Rose就是开源社区提供的一种C/C++跨平台解决方案。 SDL、Rose是什么 SDL(http://www.libsdl.org)。Simpl...

1
4
发表了问答
2014/06/15 15:25

SDL安装配置后出现编译问题。找不到-lobjc

winodws8.1加上DEV编译器,按照官网上安装SDL的方法安装配置后,新建了一个空项目复制了教程里面的代码,运行时出现如下这样的错误提示: 我是根据这个SDL教程安装配置的,有哪位大神给我看看,这个编译不通过问题是出道哪了? 这是教程地址 http://tjumyk.github.io/sdl-tutorial-cn/lessons/lesson01/windows/devcpp/index.html...

5
0
发表了问答
2013/04/07 21:32

急求一个c++ sdl下的滤波器思路

是这样的,这个是5阶巴特沃斯低通滤波器,截频为500hz 现在要求把原始的44100hz的音频通过sdl实现500hz的低通滤波。。 fc=500 fs=44100 fc/fs = 0.0113378 closest(fc/fs)in the table = 0.0125 要求只调用sdl.h头文件不能用mixer 是什么个思路呢。。。 只要求process音频的过程。。如何输出不用考虑。。。

2
0
发表了问答
2012/06/21 16:22

问一个关于游戏中动画和线程设计的问题

想做一个类似拳皇的小游戏,或者类似小斗士(不知有没有人玩过?挺有意思的)大概就是在一个场景中,两个人可以对打的样子,是2D的。每个动作都是由若干帧图片组成的,那么我在游戏中应该怎么处理呢?以前尝试过使用SDL库来开发,将每个动作设计成一个线程,然后没击打一次就开一个线程~~~~感觉不是这么做的,而且存在一个问题,就是刷新人物的时候,背景却没有刷新,。。。好麻烦。不知道到底怎么去构建这样一个游戏呢? 求指教...

1
0
发表了问答
2012/02/11 11:19

如何在 OGRE 中使用 SDL

当我在 OGRE 中使用 SDL 时(参考了这篇文章),第二个窗口却显示在主窗口的后面,代码如下: SDL_init(SDL_INIT_VIDEO); SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_OPENGL); Ogre::Root *root = new Ogre::Root(); root->restoreConfig(); root->initialise(false); Ogre::NameValuePairList windowSettings; windowSettings["currentGLContext"] = Ogre::String("True"); Ogre::RenderWindow *window = root...

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2 评论
113 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部