Android OpenGL ES 从入门到精通系统性学习教程
为什么要写这个教程
目前这个 OpenGL ES 极简教程的更新暂时告一段落,说是教程,其实自知有种吹嘘的味道,很荣幸获得了阮一峰老师的推荐。
因为在工作中频繁使用 OpenGL ES 做一些特效、滤镜之类的效果,加上平时学到的的知识点也比较细碎,就想着去系统地学习下 OpenGL ES 相关开发知识,并将学习过程记录下来。
另外,这个 Android OpenGL ES 极简教程主要是为音视频开发做准备的。
准备知识
一些同学反映,学习这个教程感觉有点门槛。其实,就是需要懂一些 Android 开发和 C/C++ 开发知识。
在本公众号:字节流动,后台回复 1024 即可获取相关的视频教程,里面有 2 个章节是关于 C/C++ 基础和 NDK 开发知识的讲解。
基础篇和应用篇
该教程分为基础篇和应用篇,基础篇主要是讲解 GLES 3.0 的主要核心知识点,而应用篇主要是利用基础篇的知识实现一些常见的特效和功能。
基础篇
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 是什么鬼?”
所以,基于以上需求该教程的更新暂时告一段落,不过后面还会有一些重要知识点会更新上去,如 HardwareBuffer 等。
学习音视频开发,FFmpeg 是一个必须要掌握的开源工具,熟悉和掌握它,对学习整个音视频开发知识的脉络非常有帮助。
基于上述我们掌握的 OpenGL 开发知识,再利用 FFmpeg 开源库强大的音视频处理功能,我们可以轻易实现视频播放和录制,接下来我们将以 FFmpeg 开发为基础逐步去熟悉音视频开发的知识脉络。
下一阶段【字节流动】公众号的更新内容大致如下:
- FFmpeg 开发(01):FFmpeg 编译和集成
- FFmpeg 开发(02):FFmpeg + OpenSL ES 音频解码播放
- FFmpeg 开发(03):FFmpeg + OpenGL ES 视频解码播放
- FFmpeg 开发(04):实现音视频同步的三种方式
- FFmpeg 开发(05):基于 FFmpeg + OpenSL ES + OpenGL ES 实现一个播放器
- FFmpeg 开发(06):基于 OpenGL ES 实现播放器滤镜
- FFmpeg 开发(07):FFmpeg + AudioRecorder 音频编码
- FFmpeg 开发(08):FFmpeg + Camera 视频编码
- FFmpeg 开发(09):FFmpeg 音视频编码合成 MP4 文件
......