
├── {1}–第1章 课程介绍及学习指南
│ └── [1.1]–1-1 视频渲染-导学 系统玩转OpenGL+AI实现各种酷炫视频特效_文件目录.txtTXT
├── {2}–第2章 为什么应该学好OpenGL?
│ └── [2.1]–2-1 为什么要选择OpenGL及OpenGL的发展
├── {3}–第3章 在系统学习OpenGL特效之前,需要先学会如何实现一个照
│ ├── [3.1]–3-1 [原理]清楚Android相机采集原理
│ ├── [3.2]–3-2 [原理]Android系统下图像渲染原理
│ ├── …
│ ├── [3.6]–3-6 [实战]定义相机预览界面并展示采集到的图片
│ ├── …
│ └── [3.10]–3-10 [实战]实现前置摄像头与后置摄像头切换
├── {4}–第4章 掌握渲染环境是实现特效的基石
│ ├── [4.1]–4-1 [原理]图形渲染管线清楚图形渲染的流程是怎样的
│ ├── [4.2]–4-2 [原理]Android系统下渲染管线的建立与图形渲染管线
│ ├── [4.3]–4-3 [原理]以GLSurfaceView为例讲解它是如何构建
│ └── [4.4]–4-4 [实战]使用GLSurfaceView完成OpenGL
├── {5}–第5章 OpenGL基础实战第一步:如何基于Shader(着色器
│ ├── [5.1]–5-1 什么是Shader?为什么要使用它渲染图像
│ ├── [5.2]–5-2 掌握好坐标系才能确定图形的起点在哪儿
│ ├── …
│ ├── [5.6]–5-6 [实战]Shader程序的编译与加载
│ └── [5.7]–5-7 [实战]使用OpenGL完成三角形的绘制
├── {6}–第6章 OpenGL基础实战第二步:如何轻松实现图像的放大缩小、
│ ├── [6.1]–6-1 图形学的本质是数学,让我们从向量开始
│ ├── …
│ ├── [6.5]–6-5 基于矩阵实现各种2D变换
│ ├── [6.6]–6-6 各种图形变换的核心-齐次坐标
│ ├── [6.7]–6-7 利用齐次坐标实现各种3D变换
│ └── [6.8]–6-8 [实战]基于齐次坐标实现[平移-旋转-缩放]等图形变换
├── {7}–第7章 OpenGL基础实战第三步:牢牢掌握特效渲染中的色彩空间
│ ├── [7.1]–7-1 光与五彩缤纷的颜色
│ ├── [7.2]–7-2 各种各样的色彩空间
│ ├── [7.3]–7-3 RGB与YUV格式是什么样
│ └── [7.4]–7-4 RGB与YUV格式之间的相互转换
├── {8}–第8章 OpenGL基础实战第四步:如何提升性能及对渲染的精准控
│ ├── [8.1]–8-1 提高Shader性能-VBO基础知识
│ ├── [8.2]–8-2 [实战]使用VBO提高绘制三角形的效率
│ ├── …
│ ├── [8.4]–8-4 [实战]使用EBO提高绘制三角形的效率
│ ├── …
│ ├── [8.6]–8-6 [实战]使用VAO提高绘制模型的效率
│ └── …
├── {9}–第9章 OpenGL基础实战第五步:特效渲染中的坐标变换与投影
│ ├── [9.1]–9-1 我们不得不知道的视图变换
│ ├── [9.2]–9-2 简单但很重要的正交投影
│ └── [9.3]–9-3 投影变换的重中之重–透视投影
├── {10}–第10章 特效进阶实战一:如何基于纹理高效渲染出照片?【缺2,4,11】
│ ├── [10.1]–10-1 高效渲染视频和照片-纹理基础知识
│ ├── …
│ ├── [10.5]–10-5 实战-高质量渲染图片之顶点坐标与纹理坐标之间的对应关系
│ ├── …
│ ├── [10.9]–10-9 实战-高质量渲染图片之防止图片被拉伸的方法一
│ └── [10.10]–10-10 理论-高质量渲染图片之防止图片拉伸方法二
├── {11}–第11章 特效进阶实战二:如何基于外部纹理高效的渲染视频?【缺6】
│ ├── [11.1]–11-1 高效渲染视频-视频渲染的整体过程
│ ├── [11.2]–11-2 高效渲染视频-Camera2的基础知识
│ ├── …
│ ├── [11.5]–11-5 实战-高效渲染视频之创建外部纹理
│ ├── [11.7]–11-7 实战-打通Camera到OpenGL之间的生命之路
│ ├── …
│ └── [11.14]–11-14 实战-正确渲染视频内容
├── {12}–第12章 特效进阶实战三:如何通过OpenGL实现多种经典特效【缺14】
│ ├── [12.1]–12-1 OpenGL实现多种特效
│ ├── [12.2]–12-2 实战-OpenGL实现黑白特效
│ ├── …
│ ├── [12.4]–12-4 实战-OpenGL实现blur特效-1
│ ├── …
│ ├── [12.8]–12-8 实战-使用OpenGL实现素描效果
│ ├── [12.9]–12-9 先来了解一下什么是LUT
│ ├── …
│ └── [12.13]–12-13 实战-使用3DLUT对图象调色-传递数据
├── {13}–第13章 特效进阶实战四:如何基于OpenGL实现多种经典转场
│ ├── [13.1]–13-1 什么是转场特效
│ ├── [13.2]–13-2 实现转场特效的原理
│ ├── …
│ ├── [13.7]–13-7 实战-OpenGL实现擦除转场特效-调试
│ ├── [13.8]–13-8 原理-OpenGL放大场特效的算法
│ ├── [13.9]–13-9 实战-实现OpenGL放大转场特效
│ ├── [13.10]–13-10 原理-百叶窗转场特效算法
│ └── [13.11]–13-11 实战-OpenGL实现百叶窗转场特效
├── {14}–第14章 特效进阶实战五:如何基于AI实现各种美颜特效?
│ ├── [14.1]–14-1 AI的一些基本概念
│ ├── [14.2]–14-2 介绍一些好用的人脸识别AI库
│ ├── [14.3]–14-3 实现大眼特效-使用MLKit获得眼部位置
│ ├── …
│ ├── [14.8]–14-8 实现大眼特效-调试并展示大眼特效
│ ├── [14.9]–14-9 实现瘦脸特效-原理与算法
│ ├── …
│ └── [14.12]–14-12 实现瘦脸特效-调试并展示效果
└── {15}–第15章 课程总结
└── [15.1]–15-1 OpenGL+AI课程总结