爲什麼要寫這個教程
目前這個 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 文件
…