首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SDL的几个宽高概念讲解(文中有福利)

了解了这些之后,你就知道如何开发游戏,如何放置一个图片的准确位置。...Window SDL创建出来的窗口SDL_CreateWindow),这个窗口的大小是固定的,和SDLSurfaceView大小一致,不能调整。...因此对应的设置窗口的大小方法,android上面不起作用,这个需要注意啦。 也就是SDL_SetWindowSize方法是不能用的。...Textrue, 纹理的大小,可以通过copy surface的大小,这里比如一张图大小200×400,那么创建一个surface,从这个图,那surface的大小就是200×400,然后纹理从surface...复制过来,也就是也是200×400,如果这时textrue贴到render上面的时候,没有指定区域,那么就是将整个的texture投影到render的整个区域,这里就是将200×400缩放到400*800

1.9K80
您找到你想要的搜索结果了吗?
是的
没有找到

【音视频连载-005】基础学习篇-SDL 加载 YUV 文件并显示

换成实际的宽高 // 把 filename 改为 YUV 对应的文件名 ffplay -f rawvideo -video_size 100x100 yuv_filename.yuv 以上命令会打开一个窗口去展示图片...渲染纹理上屏 有了纹理,也有了 YUV 文件内容,接下来就是把 YUV 文件内容转换到纹理上,纹理渲染上屏。 if (texture !...渲染纹理上屏的操作流程基本都是这样了,根据文件格式的不同,转换成纹理的方式也有不同,除了 SDL_UpdateTexture 方法之外,还有 SDL_UpdateYUVTexture 方法,后面会遇到的...运行程序就会看到打开一个窗口,显示一张图片,和之前用 FFmpeg 显示的图片内容一致。 总结 以上就是音视频基础学习连载的 005 篇。 内容相对比较简单,对于 SDL 接口的一些调用也不算难。...另外,既然已经可以显示一张 YUV 帧内容了,那么假如是一个 YUV 视频文件又该如何显示呢?想知后事如何,请看下回分解。

89200

Unity通用渲染管线(URP)系列(十六)——渲染缩放(Scaling Up and Down)

(渲染缩放滑动条) 1.2 缩放渲染 从现在开始,我们还将追踪是否CameraRenderer中使用缩放渲染。 ? 我们不希望配置的渲染比例影响场景窗口,因为它们是用于编辑的。...你可以放大游戏窗口,以便更好地查看单个像素,这使得调整后的渲染比例更加明显。 ? (没有Post FX 渲染缩放为1 Game 窗口放大) 小渲染比例会加快渲染速度,同时降低图像质量。...的渲染比例则相反。请记住,当不使用post FX时,调整后的渲染比例需要一个中间缓冲区和额外的绘制,因此会增加一些额外的工作。 ? ? ? ?...这样,可以防止缩放过小或过大。 ? 由于我们对所有渲染比例使用相同的最小值和最大值,因此将它们定义为CameraRenderer的公共常量。...(双线性和双三次缩放;渲染缩放为0.25) 2.4 只有双三次上采样 双三次缩放在放大时始终可以提高质量,但是小时,差异必须不太明显。

4.2K20

SDL第五篇」彻底理解纹理(Texture)

前言 这是SDL系列文章的第五篇,本文将彻底让你理解什么是纹理。并带你深入探讨SDL的几个重要概念SDL_Window、SDL_Render、SDL_Surface 与 SDL_Texture。...文章的最后向你展示SDL如何通过SDL_Texture进行渲染。...对于前面系列文章感兴趣的同学可以通过下面的链接查看: SDL 入门 SDL窗口渲染 SDL基本图形绘制 SDL事件处事 另外,我慕课网分享了音视频免费入门课程,有兴趣的同学可以去学习更多的音视频知识。...SDL_Window 与 SDL_Render SDL_Window代表的是窗口的逻辑概念,它是存放在主内存中的一个对象。所以当我们调用SDL API 创建窗口后,它并不会被显示出来。...通过上面的介绍,我们就将 SDL_Window、SDL_Render、SDL_Surface与 SDL_Texture之间的关系梳理清楚了,下面我们来看一下如何使用 SDL_Texture。

2.8K10

音视频面试题集锦 2022.10

4)你项目中使用过 SDL 进行渲染,能否讲一下 SDL 渲染? SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用 C 语言写成。...SDL 的基本流程如下: 1、初始化 SDL 2、创建窗口 3、创建渲染器 4、清空缓冲区 5、绘制要显示的内容 6、最终将缓冲区内容渲染到 Window 窗口上 7、销毁渲染器 8、销毁窗口 9、退出...转换逻辑即将纹理 UV 分量隔行采样。 6)你项目中是怎么降低端到端的延时的?...直播流编码的 GOP 的长度,CDN 客户端拉流时吐几秒的数据、按照 GOP 分隔如何丢数据,这些策略都会影响延时。...注意如果倍速过大,声音是会明显变调的,需要通过算法来调整。跳帧一定要注意视频跳到 I 帧,音频对齐视频进行丢弃。 7)你对视频倍速播放的时候,是否有改变音调?

1.3K40

SDL第八篇」支持倍速与慢放的YUV视频播放器

前言 今天向大家介绍一下如何通过 SDL 实现一个YUV视频播放器。它与上次介绍的音频播放器一样,也是一个简单的不能再简单的播放器了。只不过一个是播放的音频PCM数据,另一个播放的时视频YUV数据。...大家小时候都干过一件事儿,就是自已的编习本上画几张连续的图,用手一翻就可以看到动画效果。一般情况下,每秒达到 25 帧就可以看到连续的效果,如果是 30帧以上动作就非常平滑。...理解YUV 我们开始介绍代码之前,你要先了解一下什么是YUV。YUV与RGB是什么关系呢?大家可以去看我的另一篇文件YUV视频格式详解,或看我慕课网发布的音视频免费入门课程。...主线程收到REFRESH事件后,就去做一次纹理渲染。渲染完成后再从文件中读一帧的数据。 如果想做倍速播放,你可以调整一下 delay时间,如果从 40ms 减为 20ms 播放速度就会快一倍。...如果40ms调整为 80ms播放速度就会慢一倍。

98230

开发播放器知识点滴

(针对的是软字幕与外挂字幕,因为硬字幕是与视频溶和到一起的,所以不用单独处理) 图像缩放 平常的时候我们很少使用图像缩放。但对于播放器来说,在窗口指定的情况下,很可能与最终要显示的YUV的宽高不一致。...为了达到更好的效果,一般都需要对视频进行缩放操作。下面就是使用 ffmpeg进行缩放的方法。 注:ffmpeg的 swscale 模块的效率不高,建议尽量使用libyuv进行图像的缩放。...the changes to video memory 音频重采样 一些媒体文件中使用的音频数据格式是 FLTP格式,也就是 float格式。...之前没有仔细研究过,以为都是用16位小,这两天才搞明白原来是32位小。 而使用SDL将音频送往硬件设备时,一般都使用的是 16位小的数据。这样数据不一致就导致音频播放时出现了问题。...工作和学习的过程中,不断的完善自己的识识图谱,并分享给大家既可以使自己记得更牢固,又可以与大家交流,想来也是一件很美的事儿。

86810

ffplay源码分析1-概述

本文基于FFmpeg工程4.1版本进行分析,其中ffplay源码清单如下: https://github.com/FFmpeg/FFmpeg/blob/n4.1/fftools/ffplay.c 尝试分析源码前...这些协议传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。...如果有多个输入文件,ffmpeg尝试追踪多个有效输入流的最小时间戳(timestamp),用这种方式实现多个输入文件的同步。...目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。用下面这张图可以很明确地说明SDL的位置。 ?...初始化 1) 初始化SDL 2) 创建窗口(Window) 3) 基于窗口创建渲染器(Render) 4) 创建纹理(Texture) 循环显示画面 1) 设置纹理的数据 2) 纹理复制给渲染目标

1.9K10

.NET 8.0 和 OpenGL 创建一个简易的渲染器

去年,与群友聊天时,他们推荐了一本《Unity Shader入门精要》,说适合像我这样想自学的新人,于是我打开了通往新世界的大门。 这本书涵盖了很多基础的渲染知识,如光照、阴影、各种风格的渲染等等。...Silk.NET.Windowing、Silk.NET.Input - 对 glfw、sdl 窗口进行包装,包含控制器输入(鼠标、键盘等)。 StbImageSharp - 用于解析图片。...TrTexture.cs - 管理纹理和采样器属性。 TrFrame.cs - 创建并维护一个 Frame,支持多重采样。...TrScene.cs - 内置一个 Frame 的 ImGui 窗口,用于绑定渲染。 TrBuffer.cs - 使用 OpenGL 创建并维护内存,可设置内存优先级。...TrTransform.cs - 简易的矩阵变换类,支持平移、缩放、旋转。 TrCamera.cs - 相机类。 TrMesh.cs - 管理网格体的顶点数据和索引数据。

10910

SDL第六篇」孙悟空与多线程

SDL 入门 SDL窗口渲染 SDL基本图形绘制 SDL事件处事 彻底理解SDL纹理 另外,我慕课网分享了音视频免费入门课程,有兴趣的同学可以去观看。 为啥要用多线程?...如何才能让CPU,内存,磁盘I/O,各种设备之间高效的工作,一直是操作系统追求的目标。当然,这话有点扯远了。 今天我们要讲的就是多线程(多进程)之间该如何高效的工作。...于时他们相互等待中老去。 看类很简单的问题,但这类事情经常在我们的工作中出现。而在我们开发的多线程程序中更是频繁出现。别说人没遇到过哟! 如何解决?那就是考验你的管理能力了。...SDL多线程 上面介绍了一堆的理论,现在来看看 SDL 为我们都提供了那些API吧。...一是对多线程理论做了一下简单的介绍;二是介绍了SDL中与线程和锁相关的API。 最后通过一个例子显示了如何使用 SDL 中的多线程。 希望本文能对你有所帮助,谢谢!

76610

SDL2库(3)-Android 端源码简要分析(VideoSubSystem)参考

SDL_CreateRenderer(): 基于窗口创建渲染器(Render)。 SDL_CreateTexture(): 创建纹理(Texture)。 3....SDL循环渲染数据 SDL_UpdateTexture(): 设置纹理的数据。 SDL_RenderCopy(): 纹理复制给渲染器。 SDL_RenderPresent(): 显示。...title :窗口标题 x :窗口位置x坐标。也可以设置为SDL_WINDOWPOS_CENTERED或SDL_WINDOWPOS_UNDEFINED。 y :窗口位置y坐标。...w :窗口的宽 h :窗口的高 flags :支持下列标识。包括了窗口的是否最大化、最小化,能否调整边界等等属性。...GLES2_CreateTexture 方法,是创建纹理的方法,可以看到,确实是熟悉的问题,创建纹理的过程。不同的是,如果是yuv就会创建3个纹理

2.6K40

基于 FFmpeg 的 Cocos Creator 视频播放器

,还是会遇到很多小问题,例如:移动端使用 swscale 进行纹理缩放和像素格式转换效率低下,不支持 Android asset 文件读取问题等等,下文会逐一解决。...声明:因为本人少接触 c 和 c++ ,所以 ffplay 改造过程中,SDL 线程改造和字幕分析参考了 bilibili 的 ijkplayer 源码。...,并绑定传值; 链接顶点属性; 创建和绑定纹理对象,加载图片,传递纹理像素值; 让程序进入渲染循环,循环中绑定顶点数组对象,不断绘制图形基元。...位置坐标系原点(0,0)中心位置,x,y 取值范围是 -1 到 1; 纹理坐标系原点(0,0)左上角位置,x,y取值范围是 0 到 1; Cocos Creator 2.0 版本后,自定义渲染组件...,分为三步: 自定义材质(材质负责着色器程序); 自定义 Assembler (Assembler 负责传递顶点属性); 设置材质动态参数,如设置纹理,变换平移旋转缩放矩阵等。

6K30

Photoshop软件应用项目(三)

而晶体化和马赛克最大的不同就是他新建的格子是不规则形状的,我们可以尝试把它的单元格大小调,它的格子也会变大 点状化,就是一个一个点,我们点击它之后,会在它的面板中看到许多黑点,可以把他的单元格大小调就能发现许多彩色的不规则形状的点...叠加 点击成角线条,可以调整锐化描边长度还有方向平衡的参数。...新建第二层效果,扭曲文件预设中选择玻璃就可以成角线条的基础上填充玻璃的效果,素描文件预设中,可以叠加水彩画纸,半调图层等 四.如何绘制一个玻璃?...滤镜菜单下选择滤镜库,扭曲文件预设中点击玻璃 我们可以继续增强它的质感,纹理中选择磨砂,也可以选择小镜头或者块状等,最常用的工具是磨砂 缩放调整方块大小,扭曲度是调整方块边缘形体的扭曲度最小时为原图...57,选择磨砂纹理,这样玻璃的效果就做好了 五.作品展示

90030

关于前端的photoshop初探的学习笔记

魔棒工具 白色的背景中单击,可以选择出阴影部分。。 连续。 容差。。 容差小时只有非常相似的n颜色才能被选择。容差时可以对颜色选择不大。 ctrl+shift+i反选。...背景层,色彩调整,色相饱和度。当前图层, 取样大小 绿颜色上单击就是绿色。3*3平均 铅笔可以用来画颜色。...气泡图案,涂抹出图案纹理,明暗关系的混合。在哪一个图层中取样。 关闭修复时的调整图层。 修补工具 ( 源模式,目标模式。 复制的修图方法。...笔尖一个点一个点点出来的效果。数量抖动有浓有疏。钢笔压力控制散布的值。画笔选项下进行设置,可以对画笔进行个性化。。 画笔的纹理设置。使用纹理柔和到画布,通过观察将纹理的花纹进行缩放。...可以得到较小的缩放值,设置纹理的亮度,缩放对比度。 画笔的传递 画笔传递画笔工具。使用不透明度抖动,每个笔尖有着不同的不透明度。 铅笔工具 铅笔工具 沙丘草。绘制。画笔。 铅笔工具对比。制作像素字。

2.2K60
领券