SDL系列(一)—— 小白入门

2024-05-16 12:20
文章标签 入门 系列 小白 sdl

本文主要是介绍SDL系列(一)—— 小白入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SDL Simple DirectMedia Layer 是一套开放源代码的 跨平台多媒体开发库 ,使用 C
言写成。 SDL 提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的
代码就可以开发出 跨多个平台( Linux Windows Mac OS X 等) 的应用软件。目前 SDL
用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
SDL 的“标准库”
SDL_image —支持时下流行的图像格式: BMP PPM XPM PCX GIF JPEG PNG TGA
SDL_mixer —更多的声音输出函数以及更多的声音格式支持。
SDL_net —网络支持。
SDL_ttf TrueType 字体渲染支持。
SDL_rtf 简单的 RTF 渲染支持。
SDL 可以干什么
视频
3D 图形:
        SDL 可以与 OpenGL API Direct3D API 结合使用,用于 3D 图形
加速 2D 渲染 API
        支持简单旋转,缩放和 Alpha 混合,所有这些都使用最新的 3D API 加速
        使用 OpenGL Direct3D 支持加速
创建和管理多个窗口
输入事件
提供的事件和 API 方法如下:
        应用程序和窗口状态更改
        鼠标输入
        键盘输入
        操纵杆和游戏控制器输入
        多点触控手势
可以使用 SDL_EventState ()启用或禁用每个事件
在发布到内部事件队列之前,事件将通过用户指定的过滤器函数传递
线程安全事件队列
音频
设置 8 位和 16 位音频,单声道立体声或 5.1 环绕声的音频播放,如果硬件不支持格式,
可选择转换
音频在单独的线程中独立运行,通过用户回调机制处理
专为自定义软件音频混音器而设计,其中 SDL_mixer 提供完整的音频 / 音乐输出库
文件 I / O 抽象
通用抽象开放,读写数据
内置支持文件和内存支持
共享对象支持
加载共享对象( Windows 上的 DLL Mac OS X 上的 .dylib Linux 上的 .so
共享对象中的查找方法 , 调用
线程
简单线程创建 API
简单 线程本地存储 API
互斥量,信号量和条件变量
用于无锁编程的原子操作
计时器
获取流逝的毫秒数
等待指定的毫秒数
在单独的线程中创建与代码并行运行的计时器
使用高分辨率计数器进行分析
CPU 特征检测
查询 CPU 数量
检测 CPU 功能和支持的指令集
支持大小端检测
检测当前系统的字节顺序
用于快速交换数据值的例程
读取和写入指定字节数据的数据
电源管理
查询电源管理状态
SDL2.0 知识框架体系
SDL 视频渲染 主要涉及到 四个对象
  • SDL_Window
  • SDL_Surface
  • SDL_Render
  • SDL_Texture
  • SDL_Event
SDL 视频渲染 主要涉及到 相关 API
初始化:
SDL_Init(): 初始化 SDL
SDL_CreateWindow(): 创建窗口( Window
SDL_CreateRenderer(): 基于窗口创建渲染器( Render
SDL_CreateTexture(): 创建纹理( Texture
循环渲染数据:
SDL_UpdateTexture(): 设置纹理的数据
SDL_RenderCopy(): 纹理复制给渲染器
SDL_RenderPresent(): 显示
退出:
SDL_DestroyWindow()
SDL_DestroyRenderer()
SDL_DestroyTexture()
SDL_Quit()
SDL 主要涉及到 几个扩展库
  • SDL_image
  • SDL_mixer
  • SDL_ttf

这篇关于SDL系列(一)—— 小白入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994894

相关文章

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚