有位大佬说,“这是全网最全的 Android OpenGL ES 教程”,哈哈,对于这种善意的“商业互吹”,当然是欣然接受, 这无疑给了我更多的动力和激情来完善这几个系列的文章 。
学习 Android 音视频开发,其实可以从学习图像渲染技术(OpenGL ES)入手,毕竟图像渲染一开始可以获得即时反馈,知识点少且不枯燥。
以图像渲染技术为切入点便可熟练掌握图像的数据格式、渲染原理、滤镜等知识点,然后基于此再去学习 Android MediaCodec 基于 Surface 的编解码以及 Camera 开发就变得易如反掌。
Android OpenGL ES 系统性学习教程
基础篇
OpenGL ES 3.0 开发(04):VBO、EBO 和 VAO
OpenGL ES 3.0 开发(07):Transform Feedback
OpenGL ES 3.0 开发(13):实例化(Instancing)
OpenGL ES 3.0 开发(14):粒子(Particles)
OpenGL ES 3.0 开发(15):立方体贴图(天空盒)
OpenGL ES 3.0 开发(18):相机 LUT 滤镜
OpenGL ES 3.0 开发(21):3D 模型加载和渲染
OpenGL ES 3.x 开发(23):UBO 和 TBO
应用篇
推荐一款强大的 Android OpenGL ES 调试工具
面试中经常被问到的 OpenGL ES 对象,你知道的有哪些?
Android FFmpeg 音视频开发系列
(02)FFmpeg + ANativeWindow 实现视频解码播放
(03)FFmpeg + OpenSLES 实现音频解码播放
(04)FFmpeg + OpenGLES 实现音频可视化播放
(05)FFmpeg + OpenGLES 实现视频解码播放和视频滤镜
(07)FFmpeg + OpenGL ES 实现 3D 全景播放器
(11)FFmpeg + Android AudioRecorder 音频录制编码
(12)Android FFmpeg 实现带滤镜的微信小视频录制功能
为什么要进行写作
一句话, 通过输出来倒逼自己输入 ,技术输入也好,认知感悟也好,记录生活也好,这都是输出。
要想持续不断地输出,你就得持续不断地学习,尤其是 Android 领域,Google 为了防止广大程序员失业,几乎每年都会有新的花样。
记得有大佬说过一个规律,越是被人“吆喝”的厉害的技术,可能到最后反而越是没用。谁知道是不是什么机构出来割韭菜了, 回想起来几年前全栈挺火的,然后学了下,以至于现在我什么栈都不是 。
写文章就是把一些知识点融汇贯通的过程,然后拿不准的知识点就得查资料,因为如果知识点弄错了被人怼会很没面子,还有就是加深记忆,当做技术笔记。
主要目的就是多交一些朋友,认识一些技术大牛,向他们学习,当然能恰到饭就再好不过了。
前面有读者提到,上述教程主要是以 C++ 实现为主,看着有些吃力。嗯,后面再出文章尽量以 Java 或 kotlin 实现为主,后续文章安排:Android MediaCodec、直播技术、Vulkan 开发、OpenCL 开发。
最后,非常感谢 @ShaderJoy @音视频开发进阶 @程序喵大人 这些大佬,也是看他们的技术文章过来的。
– END –