章节1: 课程介绍章节 课时1 视频 内容介绍(买前必看) 17:27 可课时2 视频 2016年录屏版效果预览 05:25 可课时3 视频 2017年版内容预览 00:36 可课时4 视频 2018年伴读版全内容预览 05:27 可章节2: 2020年版课时5 视频 (随堂代码在本课时附件)创建符合要求的AndroidApp 07:12课时6 视频 创建一个高效的Android模拟器 08:21课时7 视频 在模拟器上运行NativeApp 05:41课时8 视频 学习使用JNI为Java提供API 11:12课时9 视频 把so改成自己想要的名字 05:00课时10 视频 添加更多的cpp源文件参与编译 11:41课时11 视频 创建OpenGLES视口 12:22课时12 视频 OpenGLES视口中代码的执行原理 14:39课时13 视频 使用NDK来写OpenGLES代码 10:29课时14 视频 创建Assets资源目录 02:45课时15 视频 在CPP里打印日志 04:56课时16 视频 在NDK层加载外部资源 11:59课时17 视频 计算出每一帧耗费的时间 05:41课时18 视频 引入外部的数学库 03:36课时19 视频 齐次坐标与缺省的3D坐标系 14:34课时20 视频 渲染时的正反面(CCW与CW)的定义 03:33课时21 视频 详解VBO(VertexBufferObject) 12:54课时22 视频 详解GPU的工作流程 11:48课时23 视频 最简单的Shader代码 09:12课时24 视频 详解Attribute和Uniform关键字 09:39课时25 视频 详解3D渲染管线 08:03课时26 视频 编译Shader代码 16:10课时27 视频 生成GPU程序 08:06课时28 视频 获取Attribute和Uniform变量的位置 08:54课时29 视频 配置好属性组并进行绘制 12:09课时30 视频 使用更多的属性 09:36课时31 视频 属性在shader间的传递 11:16课时32 视频 模型矩阵的使用 05:50课时33 视频 正交投影与2DUI元素的绘制 16:25课时34 视频 控制UI前后关系的方法之一 07:55课时35 视频 使用索引数据绘制UI 08:06课时36 视频 封装VBO和IBO相关API 07:30课时37 视频 纹理贴图的原理 06:38课时38 视频 解码24位非压缩格式的位图文件 11:05课时39 视频 生成OpenGL中的纹理对象 11:01课时40 视频 纹理贴图的学习 12:53课时41 视频 纹理放大和缩小的过滤参数 11:26课时42 视频 解读WRAP配置 14:43课时43 视频 引入STBI图像解码库 16:26课时44 视频 对图像进行FlipY的操作 15:56课时45 视频 加载并显示PNG图片 12:07课时46 视频 学习Alpha混合与Alpha测试 13:40课时47 视频 实现模糊效果 21:20课时48 视频 为参与运算的像素添加权重 08:08课时49 视频 实现马赛克的原理思路 06:30课时50 视频 实现全图的马赛克 14:17课时51 视频 参数化马赛克的Shader 09:57课时52 视频 实现美白效果的Shader 10:25课时53 视频 实现强光的Shader 11:04课时54 视频 实现磨皮的Shader 22:33课时55 视频 实现2号版本的磨皮Shader 18:21课时56 视频 限定磨皮的区域 14:12课时57 视频 渲染YUV420帧的原理以及思路 07:39课时58 视频 学习使用多重纹理 15:00课时59 视频 构建YUV的解码框架 09:48课时60 视频 在Shader中实现YUV到RGB的转码 05:44课时61 视频 完成YUV到RGB的解码并显示出来 08:21课时62 视频 更新YUV纹理对象的代码框架 09:24课时63 视频 另一种YUV数据的传输方式 26:33课时64 视频 抽象出来Geometry类 17:05课时65 视频 抽象出来Shader类 13:56课时66 视频 抽象出来Material类 18:46课时67 视频 将顶点操作封装进Geometry类里 16:19课时68 视频 抽象出Camera类 05:28课时69 视频 抽象出YUVSprite类 08:52课时70 视频 抽象出场景节点类 11:00课时71 视频 终极磨皮的实现原理与RTT技术 05:42课时72 视频 帧缓冲对象(FBO以及RTT)详解 14:22课时73 视频 创建一个FBO(ES3.0版) 29:29课时74 视频 创建一个FBO(ES2.0版) 08:57课时75 视频 从ES2.0切换到ES3.0 05:40课时76 视频 渲染到FBO(RTT) 19:18课时77 视频 搭建新版磨皮代码框架 12:55课时78 视频 解决画面扭曲拉伸的问题 08:07课时79 视频 终极版磨皮代码 15:36课时80 视频 详解Mipmap贴图原理和用处 06:10课时81 视频 准备好地面的几何数据 12:34课时82 视频 绘制出来地面 07:05课时83 视频 使用Mipmap 11:00课时84 视频 使用点精灵 17:05课时85 视频 渲染一个粒子 13:32课时86 视频 随机出更多的粒子 06:20课时87 视频 让粒子动起来 03:55课时88 视频 解码obj模型的顶点数据 12:29课时89 视频 解码obj模型的三角形 13:09课时90 视频 绘制出模型并给予环境光 07:11课时91 视频 漫反射与镜面反射 18:25课时92 视频 把Shader从ES2.0换成ES3.0 08:40课时93 视频 使用CoreProfile的输入VAO 08:51课时94 视频 渲染到多张纹理RTMT(ES3.0) 23:58章节3: 2016版课时95 视频 FirstAndroidApp-随堂代码在这里 11:25课时96 视频 OpenGLESApp 16:38课时97 视频 Framework 23:04课时98 视频 GPUWorkFlow 16:31课时99 视频 VertexBufferObject 10:03课时100 视频 FirstTriangle-Shader 25:50课时101 视频 FirstTriangle-NDK-Log 10:36课时102 视频 FirstTriangle-Final 08:36课时103 视频 AssetReader 22:57课时104 视频 纹理贴图-解码BMP文件 13:46课时105 视频 纹理贴图-生成Texture2D 16:26课时106 视频 VBO详解 09:21课时107 视频 纹理贴图-绘制四边形 13:53课时108 视频 点精灵 04:56课时109 视频 生成程序纹理 11:46课时110 视频 ElementArrayBuffer 10:27课时111 视频 DrawCube 36:25课时112 视频 简单的场景 08:24课时113 视频 3DModel1 16:25课时114 视频 3DModel2 26:25课时115 视频 3DModel3 23:50课时116 视频 3DModel4 20:54课时117 视频 光照模型-总览 13:38课时118 视频 环境光计算 18:10课时119 视频 Diffuse算法思路-图解 10:40课时120 视频 漫反射计算 27:23课时121 视频 Specular算法思路-图解 05:23课时122 视频 镜面反射光照 13:02课时123 视频 光照和贴图结合 14:15课时124 视频 RGBCube 06:16课时125 视频 Discard操作 03:19课时126 视频 FBO理论讲解 07:30课时127 视频 生成FrameBufferObject 15:28课时128 视频 渲染到纹理(RTT技术) 06:31课时129 视频 绘制全屏四边形 16:45课时130 视频 后期图像处理示例-全屏模糊 17:16课时131 视频 后期图像处理示例-全屏锐化 07:20章节4: 创建Android App课时132 文本 导读-随堂代码在本课时附件里课时133 视频 伴读版-创建Android App 11:30课时134 视频 书院版-创建Android App 01:50章节5: 改造App成为C++版OpenGLES程序课时135 视频 伴读版-改造成OpenGLES程序 15:10课时136 视频 书院版-改造成OpenGLES程序 03:09章节6: 使用C++实现OpenGL调用接口课时137 视频 伴读版-使用C++实现Native接口 14:16课时138 视频 书院版-创建Native接口 02:51课时139 视频 书院版-搭建NDK开发环境 05:22课时140 视频 书院版-使用C++实现Native接口 05:59章节7: 搭建绘图框架课时141 视频 伴读版-搭建绘图框架 14:07课时142 视频 书院版-搭建绘图框架 04:07章节8: 一个三角形就彻底理解OpenGLES的工作原理课时143 视频 伴读版-加载文件 07:58课时144 视频 书院版-加载文件 02:29课时145 视频 伴读版-准备绘图数据 08:22课时146 视频 书院版-准备绘图数据 03:10课时147 视频 伴读版-编写Shader 09:08课时148 视频 书院版-编写Shader 05:49课时149 视频 伴读版-编译Shader 11:50课时150 视频 书院版-编译Shader 03:06课时151 视频 伴读版-绘制出第一个三角形 20:43课时152 视频 书院版-链接成程序 02:40课时153 视频 书院版-从shader源码到GPU程序 02:09课时154 视频 书院版-获取shader中的变量 03:05课时155 视频 书院版-设置MVP矩阵 02:19课时156 视频 书院版-绘制出第一个三角形 04:49章节9: 计算每一帧耗费的时间课时157 视频 伴读版-计算每一帧耗费的时间 08:53课时158 视频 书院版-计算每一帧耗费的时间 02:37章节10: 使用EBO和增加更多属性课时159 视频 伴读版-颜色属性 08:18课时160 视频 书院版-颜色属性 03:15课时161 视频 伴读版-ElementBuffer 08:47课时162 视频 书院版-ElementBuffer 02:19章节11: 纹理贴图课时163 视频 伴读版-实现纹理贴图 17:49课时164 视频 书院版-实现纹理贴图 03:34课时165 视频 伴读版-封装创建纹理的方法 07:06课时166 视频 书院版-封装创建纹理的方法 01:59课时167 视频 伴读版-生成纹理对象 09:27课时168 视频 书院版-生成纹理对象 06:34课时169 视频 伴读版-解码图片 09:51课时170 视频 书院版-解码图片 03:15章节12: 总结VertexBuffer和Shader类课时171 视频 伴读版-抽象出CreateBufferObject 07:01课时172 视频 书院版-抽象出CreateBufferObject 02:27课时173 视频 伴读版-地面-组织数据 14:04课时174 视频 书院版-地面-组织数据 03:29课时175 视频 伴读版-地面-vertexbuffer 14:31课时176 视频 书院版-地面-vertexbuffer 02:39课时177 视频 伴读版-地面-新的数据组织 09:45课时178 视频 书院版-地面-新的数据组织 02:50课时179 视频 伴读版-地面-shader类 10:34课时180 视频 书院版-地面-shader 01:23课时181 视频 书院版-地面-准备绘图参数 02:27课时182 视频 书院版-地面-shader类 03:17课时183 视频 伴读版-地面-绘制地面 15:36课时184 视频 书院版-地面-新的绘图参数 01:43课时185 视频 书院版-地面-绘制地面 04:00课时186 视频 伴读版-完善VertexBuffer 08:21课时187 视频 书院版-完善VertexBuffer 03:16课时188 视频 伴读版-新的三角形 15:04课时189 视频 书院版-新的三角形绘制 02:56章节13: 多重纹理贴图课时190 视频 伴读版-shader支持纹理 08:48课时191 视频 书院版-shader支持纹理 02:58课时192 视频 伴读版-支持多重纹理混合 10:15课时193 视频 书院版-支持多重纹理混合 02:47章节14: 3D模型课时194 视频 伴读版-3D模型-数据分类 10:18课时195 视频 书院版-3D模型-数据分类 04:06课时196 视频 伴读版-3D模型-解析数据 11:56课时197 视频 书院版-3D模型-解析数据 03:08课时198 视频 书院版-3D模型-解析绘制指令 02:21课时199 视频 伴读版-3D模型-绘制出模型 14:51课时200 视频 书院版-3D模型-生成OpenGL数据 02:25课时201 视频 书院版-3D模型-shader 01:40课时202 视频 书院版-3D模型-绘制出模型 02:23章节15: 光照算法课时203 视频 光照模型 01:01课时204 视频 伴读版-完善shader类 07:53课时205 视频 书院版-完善shader类 02:21课时206 视频 伴读版-环境光分量 12:57课时207 视频 书院版-环境光分量 01:35课时208 视频 伴读版-漫反射分量 10:20课时209 视频 书院版-漫反射分量 03:34课时210 视频 伴读版-镜面反射分量 10:13课时211 视频 书院版-镜面反射分量 03:17课时212 视频 伴读版-纹理贴图和光照混合 08:07课时213 视频 书院版-纹理贴图和光照混合 02:06课时214 视频 伴读版-为地面添加光照 09:51课时215 视频 书院版-为地面添加光照 03:11课时216 视频 伴读版-改善地面上的光照 10:51课时217 视频 书院版-改善地面上的光照 01:55课时218 视频 书院版-抽象出模型材质接口 01:37章节16: 天空盒课时219 视频 伴读版-天空盒-准备数据 13:54课时220 视频 书院版-天空盒-准备数据 05:58课时221 视频 书院版-天空盒-shader 01:20课时222 视频 伴读版-天空盒-绘制 09:51课时223 视频 书院版-天空盒-绘制 03:14章节17: 调整摄像机课时224 视频 书院版-调整摄像机 01:54章节18: 构建场景课时225 视频 伴读版-添加一头牛 11:00课时226 视频 书院版-添加一头牛 01:29课时227 视频 伴读版-改善牛头人的外观 09:23课时228 视频 书院版-改善牛头人的外观 01:36章节19: 粒子系统课时229 视频 伴读版-粒子-准备数据 13:47课时230 视频 书院版-生成程序纹理 02:37课时231 视频 书院版-粒子-准备数据 01:33课时232 视频 伴读版-粒子-绘制一个粒子 10:38课时233 视频 书院版-粒子-shader 02:22课时234 视频 书院版-粒子-绘制一个粒子 03:19课时235 视频 伴读版-粒子-粒子的运动 10:22课时236 视频 书院版-粒子-绘制一群粒子 01:15课时237 视频 书院版-粒子-粒子的运动 02:28章节20: FrameBufferObject-所有高级算法的基础课时238 视频 伴读版-封装FrameBufferObject 20:50课时239 视频 书院版-封装FrameBufferObject 17:28课时240 视频 伴读版-将场景渲染到纹理 08:05课时241 视频 书院版本-为Model类添加新接口 00:47课时242 视频 书院版-将场景渲染到纹理 01:58课时243 视频 书院版-将渲染后的纹理贴到牛头人上 01:26课时244 视频 伴读版-渲染到多张纹理并绘制到球上 14:56课时245 视频 书院版-渲染到多张纹理的配置 01:23课时246 视频 书院版-渲染到多张纹理Shader部分 06:00章节21: 全屏四边形-所有高级算法的基础课时247 视频 伴读版-CPU版全屏四边形 12:33课时248 视频 书院版-CPU版全屏四边形原理 02:24课时249 视频 书院版-CPU版绘制四边形 03:00课时250 视频 书院版-GPU版全屏四边形 04:27课时251 视频 书院版-CPU版刚好铺满全屏 02:57课时252 视频 伴读版-GPU版全屏四边形 05:32