SDL 使用 framebuffer

SDL是一个开源的多媒体开发库,支持跨平台,如Linux、Windows和MacOSX。它简化了图像、声音和输入输出的管理,常用于游戏和多媒体应用。SDL可以基于X11或WayLand协议,与OpenGL和EGL交互进行图形处理。虽然SDL主要用于基础功能,复杂的图形和音频处理需要结合其他API。此外,SDL在Windows上类似DirectX,而在Linux上则通过X11或WayLand接口工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SDL:窗口系统(基于X11或WayLand协议)

OpenGL(与硬件无关):通过发命令给GPU完成绘制工作.

EGL(与硬件相关):是窗口系统(SDL)和OpenGL媒介

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

     SDL 使用 GNU 宽通用公共许可证为授权方式, 意指动态链接(dynamic link) 其库并不
需要开放本身的源代码。 因此诸如《雷神之锤 4》 等商业游戏也使用 SDL 来开发。

     虽然 SDL 时常被比较为‘跨平台的 DirectX’ , 然而事实上 SDL 是定位成以精简的方式
来完成基础的功能, 它大幅度简化了控制图像、 声音、 输出入等工作所需撰写的代码。 但更
高级的绘图功能或是音效功能则需搭配 OpenGL 和 OpenAL 等 API 来达成。 另外它本身也没
有方便创建图形用户界面的函数。

     SDL 在结构上是将不同操作系统的库再包装成相同的函数, 例如 SDL 在 Windows 平台上
其实是 DirectX 的再包装, 旧版本包装的是 DirectX 5, 现时的版本(SDL 1.2) 则是 DirectX 7。
而在使用 X11 的平台上(包括 Linux), SDL 则是与 Xlib 库沟通来输出图像。
 

1、libsdl 编译时加上 fbcon 支持。

2、环境变量加入 SDL_VIDEODRIVER=fbcon

SDL_VIDEODRIVER=wayland

SDL_VIDEODRIVER=x11

SDL_VIDEODRIVER=directx(windows)

SDL偏重多媒体、游戏开发

QT偏重UI界面开发

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠哉无忧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值