SDL 使用 framebuffer

2023-11-07

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界面开发

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SDL 使用 framebuffer 的相关文章

随机推荐

  • algorithm头文件常用函数

    algorithm意为 算法 是C 的标准模版库 STL 中最重要的头文件之一 提供了大量基于迭代器的非成员模板函数 类 别 C 标准库 头文件 include
  • uniapp error页面配置

    uniapp暂不支持自定义webview所以我们用自带的error 首先在根目录新建生成此文件hybrid html error html 在manifest json 源码试图 中配置error 必须在app plus下 这里要注意路径问
  • 伯努利分布方差_【数据挖掘建模】之常见概率分布总结

    1 伯努利分布 伯努利分布又称为0 1分布 如果随机变量X只取0和1两个值 并且相应的概率为 P x 1 p P x 0 1 p 且0 令q 1 p X服从参数为p的伯努利分布 则对应的期望和方差如下 常见的抛硬币实验就是n重伯努利试验 其
  • selenium grid4入门-standalone模式

    参考官网 Getting started with Selenium Grid Selenium selenium grid4有三种模式 Standalone模式 顾名思义 独立的 就是将主控和节点都在同一台机器上 standalone模式
  • tf好朋友之matplotlib的使用——坐标能见度设置

    tf好朋友之matplotlib的使用 坐标能见度设置 坐标能见度设置常用函数 set bbox方法 应用示例 坐标太多挡住其它标记 挡住彼此怎么办 那必然是 给他们一个透明度啊 坐标能见度设置常用函数 set bbox方法 对坐标进行透明
  • 解决Nacos启动时遇到的一些错误

    当我们双击nacos的bin目录下的statup cmd启动Nacos时 发现报以下错误 dba load error load jdbc properties error 报错的原因是 数据库找不到 没有导入 解决方法步骤 在安装的nac
  • qt 内存泄漏处理办法

    windows 版本 windows msvc版本 可以使用vld检测 可以得到内存泄漏点的调用堆栈 如果可以的话 还可以得到其所在文件及行号 可以得到泄露内存的完整数据 可以设置内存泄露报告的级别 缺点 1 只针对 Visual C 即m
  • 【ag-grid-vue】列定义(Updating Column Definitions)

    列定义一节解释了如何配置列 可以在初始设置列之后更改列的配置 本节介绍如何更新列定义 添加和删除列 可以通过更新提供给网格的列定义列表来添加和删除列 当设置新列时 网格将与当前列进行比较 并计算出哪些列是旧的 要删除 哪些列是新的 创建的新
  • Python爬虫学习基础——5分钟学会爬取B站视频日播放量排行

    Python爬虫学习基础 5分钟学会爬取B站视频日播放量排行 基础包含 requests pyquery 进入正题 基础包含 这也是我当初第一次学习爬虫时做的练习 感觉给初学者练笔挺不错的 运用的知识也不是太多 只运用了requests库以
  • 数据结构练习题-1

    1 简述下列概念 数据 数据元素 数据项 数据对象 数据结构 逻辑结构 存储结构 抽象数据类型 答案 数据 是客观事物的符号表示 指所有能输入到计算机中并被计算机程序处理的符号的总称 如数学计算中用到的整数和实数 文本编辑所用到的字符串 多
  • CH4-串、数组和广义表

    文章目录 4 1 串的定义 4 2 案例引入 4 3 串的类型定义 存储结构及运算 4 3 1 顺序串 4 3 2 链串 4 3 3模式匹配算法 BF算法 KMP算法 4 4 数组 4 4 1抽象数据类型定义 4 4 2数组的顺序存储 4
  • 最新区块链开发教程汇总

    区块链的重要性已经毋庸置疑 但对大多数跃跃欲试的开发者而言 去中心化思想 非对称加密 共识算法等技术点的理解和运用 都是入门区块链开发的挑战 合适的区块链开发教程可以极大地缩短区块链开发的学习周期 因此 本文汇总整理了以太坊 比特币 EOS
  • 如何用C语言实现多态?

    多态 Polymorphism 是指面向对象程序运行时 相同的消息可能会送给多个不同的类之对象 系统依据对象所属类 引发对应类的方法 而有不同的行为 简单来说 所谓多态意指相同的消息给予不同的对象会引发不同的动作 在C语言中 可以通过结构体
  • shell脚本awk之变量传递

    一 在shell脚本中awk引用shell变量 1 双引号加单引号的形式 1 awk引用系统变量 bin bash awk BEGIN print HOSTNAME 执行结果 root node1 pangbing test sh test
  • 主板中的Win10/win8.1 WHQL支持是否要开启

    主板中的Win10 win8 1 WHQL支持是否要开启 在新式的电脑主板上会有Windows 10 8 1 WHQL支持开启的选项 这个选项的开启和关闭分别代表什么意义呢 这其实还要从UEFI和Legacy两种不同BIOS的说起 Lega
  • 生命在于折腾——MacOS(Inter)渗透测试环境搭建

    一 前景提要 之前使用的是2022款M2芯片的MacBook Air 13寸 不得不说 是真的续航好 轻薄 刚开始我了解到M芯片的底层是ARM架构 我觉得可以接受 虚拟机用的不多 但在后续的使用过程中 发现卡脖子就是卡脖子 随后换了联想R9
  • Linux内核的全局变量

    全局变量 srctree if KBUILD SRC KBUILD SRC CURDIR objtree CURDIR src srctree obj objtree VPATH srctree if KBUILD EXTMOD KBUIL
  • Blender人物骨骼绑定

    Blender人物骨骼绑定 1 建立骨骼父子关系 某些物体依附到其他物体上并成为它的子物体 可由骨骼按E键直接分裂出子骨骼 2 将骨骼建立和三维模型的父子关系 3 设置反向运动学 正常的正向运动学是FK 也就是父骨骼带动子骨骼 而如果想要实
  • mysql中的group by 和 having使用

    mysql中的group by 和 having 使用 理论 sql中的group by 用法解析 Group By语句从英文的字面意义上理解就是 根据 by 一定的规则进行分组 Group 它的作用是通过一定的规则将一个数据集划分成若干个
  • SDL 使用 framebuffer

    SDL 窗口系统 基于X11或WayLand协议 OpenGL 与硬件无关 通过发命令给GPU完成绘制工作 EGL 与硬件相关 是窗口系统 SDL 和OpenGL媒介 SDL Simple DirectMedia Layer 是一套开放源代