该文章首发于微信公众号:字节流动本文将利用FFmpeg对一个Mp4文件的音频流进行解码,然后使用libswresample将解码后的PCM音频数据转换为目标格式的数据,最后利用OpenSLES进行播放。FFmpeg音频解码旧文中,我们已经对视频解码流程进行了详细的介绍,一个多媒体文件(Mp4)一般包含一个音频流和一个视频流,而FFmpeg对音频流和视频流的解码流程一致。因此,本节将不再对音频解码流
分类:
其他好文 时间:
2020-09-17 23:46:14
阅读次数:
32
效果:让波纹在鲨鱼身上动 设计思路:模型上有多个贴图,找到一张黑色背景的贴图(我们这里贴图使用的叠加的方式,而黑色背景的贴图,黑色(0,0,0,0)不会产生任何影响) 在unity中找到一个模型,找到它的材质面板,创建一个shader(unlit shader) Shader "Custom/Big ...
分类:
其他好文 时间:
2020-09-17 17:38:39
阅读次数:
35
##13.1原理: 深度纹理,存储的不是颜色值,而是一个高精度的深度值[0,1] - 归一化的设备坐标(Normalized Device Coordinates,NDC) 精度(24or16位) 1)使用延迟渲染时,G-buffer中直接可得。2)否则通过单独的pass,unity使用Shader ...
分类:
其他好文 时间:
2020-08-18 14:01:47
阅读次数:
67
上一篇郭先生在例子中用到了着色器变量中的uniform和varying。这篇继续结合例子将一下attribute变量,在使用过程中也发现由于three.js的版本迭代,之前的一些属性和参数已经发生了改变,ShaderMaterial也不需要传递attributes属性值,查看源码我们可以看到如果传递 ...
分类:
Web程序 时间:
2020-08-06 09:30:55
阅读次数:
75
EGL 内容介绍 说明:Khronos 是 OpenGL, OpenGL ES, OpenVG 和 EGL 等规范的定义者。以下的代码主要是用 Android 书写,但规范是 EGL 规范。 EGL 是 Khronos 组织定义的用于管理绘图表面(窗口只是绘图表面的一种类型,还有其他的类型)的 AP ...
分类:
移动开发 时间:
2020-07-24 23:42:08
阅读次数:
244
案例一、隧道 效果 Demo链接 1)四面: 2)主要代码: 1 // 初始化设置 2 void SetupRC() { 3 4 glClearColor(0.0f, 0.0f, 0.0f, 1.0f);// 黑色 5 shaderManager.InitializeStockShaders(); ...
分类:
其他好文 时间:
2020-07-24 09:44:15
阅读次数:
60
垂直同步是涉及到显卡和显示器的一个概念。 当开启了垂直同步,显卡在渲染完成一帧图像之后,显卡需要等待垂直同步信号的到来, 否则无法绘制下一帧。 启用垂直同步,将限制画面更新率和显示器一样,也就是限制了FPS(帧率)。 有关资料(没有完全证实): 在nvidia系列的显卡,垂直同步默认是启用的; 在A ...
分类:
其他好文 时间:
2020-07-23 22:42:25
阅读次数:
91
纹理基初知识 一、纹理 1)无论是 tga 文件还是 png/jpg 文件,最终图片文件都是要归结到位图文件去处理的。 纹理文件 --> TGA文件 --> OpenGL --> 位图 iOS开发中 --> OpenGL ES --> png/jpg --> 位图 2)原始图像数据: 图像存储空间 ...
分类:
其他好文 时间:
2020-07-22 20:57:07
阅读次数:
86
关于矩阵和向量的相关知识,大家可能和我一样毕业后几乎就慢慢遗忘干净了。但是,既然学过,回忆起来其实并不太难。而且,即使没有学过,也并不影响我们对相关API的使用。当然基础知识的理解会帮助我们弄明白和更好的进行OpenGL的开发工作。 GLTools库中的Math3d,其中包含了大量的OpenGL 3 ...
分类:
其他好文 时间:
2020-07-20 22:54:13
阅读次数:
75