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

相关文章

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 子图和聚

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言