OpenGL 渲染管线重构:从入门 API 调用到引擎架构搭建
这门课不教你泛泛的 OpenGL 基础,而是聚焦于“如何从零构建一个可运行的 3D 渲染引擎”。市面上大多数教程只停留在绘制立方体或学习各版本 API 差异,而本课程内容直接切入 Shader 封装、材质系统、光照计算及场景管理。如果你厌倦了反复切换 OpenGL 版本却不懂底层原理,或者想亲手写一个支持动态光照和复杂材质的小游戏引擎,这套体系课能帮你打通从数学原理到代码落地的最后一公里。
适合人群与前置要求:无需图形学基础,但需具备 C++ 编程能力
课程对计算机图形学理论有适度要求,但讲师通过“理论 + 代码同步推演”的方式降低了门槛。建议读者具备扎实的 C++ 编程基础,理解类继承、指针引用及多态概念即可上手。若你完全不懂数学,课程中关于向量矩阵变换(如法线矩阵)的部分可能会感到吃力,建议先补充线性代数知识。课程采用“先理论推导后代码实现”的逻辑,适合愿意动脑筋理解渲染管线本质的初学者,而非单纯寻找现成素材的“搬运工”。
实战价值与资料配合:通过 Demo 掌握引擎架构核心逻辑
学完这门课,你将能独立搭建一个包含模型加载、材质管理、点光源及探照灯(SpotLight)渲染的完整 3D 框架,并集成 IMGUI 实现编辑器界面。资料包中的代码视频并非孤立片段,而是按模块串联:从早期的镜面反射实现(Specular),过渡到高光蒙版与光源数组优化,最终落脚于完整的 Renderer 架构设计与场景渲染 Demo。建议学习时不要只看代码,务必对照视频中的架构设计理论,手动修改 Object、Material 或 Light 类的代码,尝试替换着色器逻辑,这样才能真正掌握如何扩展引擎功能,而非仅仅复制一份工程。
课程目录
课程目录303 集
- 10_Specular镜面反射实现代码.mp4 157.32M
- 11_解决背面入射光的高光问题.mp4 190.00M
- 12_镜面光斑大小调整与强度调整.mp4 195.76M
- 13_环境光加入.mp4 102.05M
- 14_法线矩阵(normalMatrix)理论与实践.mp4 246.34M
- 15_代码架构设计理论.mp4 76.41M
- 16_Object类设计与实践.mp4 207.13M
- 17_Material类设计与实践.mp4 100.76M
- 18_Mesh类设计与实践.mp4 102.10M
- 19_Light类及子类设计与实践.mp4 81.50M
- 20_Renderer设计与实践(一).mp4 272.01M
- 21_Renderer设计与实践(二).mp4 440.53M
- 22_架构使用Demo演示.mp4 229.23M
- 23_高光蒙版理论与实验.mp4 258.65M
- 24_点光源理论介绍.mp4 108.79M
- 25_实践:点光源实现的准备工作.mp4 258.69M
- 26_实践:点光源效果与实验.mp4 344.47M
- 27_探照灯(SpotLight)理论与初步实践.mp4 273.18M
- 28_探照灯(SpotLight)模糊边界.mp4 275.88M
- 29_Shader结构的封装(一).mp4 342.38M
- 30_Shader结构的封装(二).mp4 492.01M
- 31_实践:光源数组.mp4 446.38M
- 32_IMGUI配置讲解.mp4 517.96M
- 33_IMGUI案例讲解.mp4 269.40M
- 34_父子级关系理论与实践(一).mp4 134.95M
- 36_认识建模(理解概念即可).mp4 143.53M
- 37_架构-基于场景渲染.mp4 322.96M
- 38_模型读取前准备工作.mp4 345.73M
- 39_Assimp库编译与配置.mp4 201.42M
- 40_Assimp库数据结构介绍.mp4 91.04M
- 41_模型解析-Node架构.mp4 459.52M
- 42_模型解析-几何数据读取.mp4 421.65M
- 43_模型材质-贴图导出.mp4 89.89M
- 44_模型材质-纹理类新增功能(一).mp4 179.85M
- 45_模型材质-纹理新增功能(二).mp4 185.90M
- 46_模型材质-材质贴图读取.mp4 559.16M
- 47_模型材质-解析贴图函数与高光蒙版解析.mp4 456.03M
- 48_深度检测详解-FragCoord.mp4 130.32M
- 49_深度检测详解-depthMask与封装.mp4 321.52M
- 50_深度测试详解-典型的Bug解析.mp4 84.54M
- 51_深度检测详解-线性深度值.mp4 469.60M
- 52_深度检测详解-zFighting.mp4 438.93M
- 53_深度检测详解-polygonOffset封装.mp4 136.99M
- 54_模板测试-理论与API(一).mp4 254.47M
- 55_模板测试-理论与API(二).mp4 189.77M
- 56_模板测试-代码实验.mp4 419.40M
- 57_模板测试-代码封装.mp4 332.44M
- 58_颜色混合-基础理论.mp4 203.48M
- 59_颜色混合-初步实验.mp4 165.46M
- 60_颜色混合-为什么要关闭深度写入?.mp4 210.07M
- 61_颜色混合-材质封装.mp4 237.34M
- 62_颜色混合-模型设置透明度.mp4 135.59M
- 63_颜色混合-渲染排序逻辑.mp4 454.67M
- 64_颜色混合-透明度蒙版.mp4 198.94M
- 65_颜色混合-小草建模过程(1).mp4 169.70M
- 66_颜色混合-小草渲染.mp4 108.16M
- 67_面剔除-理论与实验.mp4 117.65M
- 68_面剔除-封装材质.mp4 133.98M
- 69_帧缓冲-什么是Framebuffer.mp4 125.02M
- 70_帧缓冲-API介绍.mp4 145.40M
- 71_帧缓冲-创建覆盖屏幕矩形.mp4 312.30M
- 72_帧缓冲-创建FBO代码实现.mp4 259.56M
- 73_帧缓冲-双Pass渲染代码实现.mp4 175.83M
- 74_帧缓冲-帧缓冲封装.mp4 295.92M
- 75_帧缓冲-反相与灰度.mp4 139.38M
- 76_帧缓冲-卷积操作.mp4 177.99M
- 77_帧缓冲-模糊实现.mp4 273.52M
- 78_立方体贴图-概念解析.mp4 200.32M
- 79_立方体贴图-制作蒙鼓人.mp4 247.75M
- 80_立方体贴图-Cubemap纹理创建.mp4 426.93M
- 81_立方体贴图-天空盒效果实现.mp4 533.82M
- 82_立方体贴图-环境光照模拟.mp4 343.40M
- 83_球面贴图-球面贴图是什么?.mp4 330.99M
- 84_HDRI图片-资源获取与转化.mp4 65.23M
- 85_球形贴图-代码实验.mp4 199.66M
- 86_实例绘制-概念解析.mp4 124.52M
- 87_实例绘制-Uniform更新策略.mp4 491.56M
- 88_实例绘制-属性更新参数策略.mp4 198.83M
- 89_实例绘制-属性参数策略实现.mp4 302.85M
- 90_草地作品-作品介绍.mp4 408.18M
- 91_草地作品-草模型原理讲解.mp4 178.63M
- 92_草地作品-实例加载与几何更改.mp4 406.86M
- 93_草地作品-新建材质与统一材质.mp4 293.78M
- 94_草地作品-透明蒙版与透明排序.mp4 580.02M
- 95_草地作品-随机旋转与法线矩阵.mp4 188.94M
- 96_草地作品-位置作为UV进行贴图.mp4 666.00M
- 97_草地作品-风力(一).mp4 451.58M
- 98_草地作品-风力(二).mp4 959.72M
- 99_草地作品-云层效果(一).mp4 869.30M
- 100_草地作品-云层效果(二).mp4 549.04M
- 101_草地作品-云层效果(三).mp4 495.37M
- 101_草地作品-云层效果(三).mp4 495
- 102_102 进阶OpenGL-草地作品-加入房子效果.mp4 497.51M
- 103_课程导学.mp4 77.77M
- 104_课程成果展示.mp4 51.81M
- 105_CMake工程配置(一).mp4 39.06M
- 106_CMake工程配置(二).mp4 59.13M
- 107_windowsAPI介绍.mp4 38.76M
- 108_windows窗体构建.mp4 51.03M
- 109_实践:窗体构建与代码架构.mp4 72.53M
- 110_windowsGDI介绍.mp4 40.45M
- 111_实践:绘图环境与实例.mp4 92.44M
- 112_brensenham直线绘制算法.mp4 159.35M
- 113_实践:直线算法代码.mp4 96.57M
- 114_实践:彩色直线绘制实践.mp4 78.19M
- 115_线性代数-向量基础.mp4 63.12M
- 116_线性代数-向量叉乘专题.mp4 69.15M
- 117_实践:向量类代码设计.mp4 45.05M
- 118_实践:向量功能函数代码设计.mp4 55.30M
- 119_实践:三角形扫描线绘制算法及代码设计.mp4 25.67M
- 120_三角形重心插值算法.mp4 32.11M
- 121_实践:彩色三角形绘制.mp4 24.38M
- 122_实践:图片读取与显示.mp4 66.75M
- 123_ 实践:颜色混合与半透明绘制.mp4 31.29M
- 124_uv坐标详解.mp4 24.57M
- 125_实践:uv坐标系统代码.mp4 74.18M
- 126_双线性插值算法详解.mp4 33.79M
- 127_实践:双线性插值实现.mp4 50.49M
- 128_纹理的Wrap属性.mp4 23.47M
- 129_实践:Wrap代码设计实现.mp4 24.66M
- 130_矩阵理论基础.mp4 21.44M
- 131_矩阵的行、列视图.mp4 53.73M
- 132_矩阵行列式计算.mp4 27.73M
- 133_矩阵行列式基本性质.mp4 30.47M
- 134_行列式性质与矩阵化简.mp4 31.45M
- 135_矩阵行列式几何意义.mp4 51.48M
- 136_矩阵的逆矩阵计算.mp4 36.95M
- 137_实践:矩阵类代码设计.mp4 56.89M
- 138_实践:矩阵功能函数代码设计.mp4 175.70M
- 139_二维空间变换.mp4 32.61M
- 140_三维空间变换.mp4 28.06M
- 141_绕任意轴旋转矩阵计算.mp4 59.66M
- 142_视图变换矩阵推导.mp4 65.28M
- 143_矩阵变换与基向量.mp4 70.20M
- 144_实践:空间变换代码.mp4 122.42M
- 145_正交投影矩阵推导.mp4 55.63M
- 146_透视投影矩阵推导.mp4 76.87M
- 147_屏幕空间变换矩阵推导.mp4 28.06M
- 148_实践:实现三维旋转的三角形.mp4 45.52M
- 149_渲染管线概念与设计.mp4 77.45M
- 150_几何信息存储-VBO.mp4 39.86M
- 151_几何信息存储-VAO与EBO.mp4 53.05M
- 152_实践:程序重构(构建渲染管线).mp4 79.64M
- 153_实践:VAO~VBO代码编写.mp4 95.29M
- 154_图形状态机设计.mp4 38.45M
- 155_实践:顶点数据操作接口.mp4 92.00M
- 156_Draw流程与Shader设计.mp4 32.27M
- 157_实践:Shader类编写.mp4 78.08M
- 158_实践:Draw函数及三角形绘制案例.mp4 146.91M
- 159_多边形剪裁-前置几何知识.mp4 24.01M
- 160_多边形剪裁算法.mp4 76.08M
- 161_实践:多边形剪裁算法实现.mp4 236.52M
- 162_透视修正推导与设计.mp4 93.52M
- 163_实践:透视修正代码.mp4 36.40M
- 164_实践:面剔除算法讲解与代码.mp4 96.90M
- 165_实践:深度检测理论与代码.mp4 102.84M
- 166_实践:颜色混合原理与代码.mp4 57.20M
- 167_实践:纹理系统设计与实现.mp4 122.76M
- 168_摄像机系统设计.mp4 26.45M
- 169_实践:摄像机类实现代码.mp4 207.26M
- 170_Lambert光照模型介绍.mp4 37.97M
- 171_实践:Lambert光照代码.mp4 111.38M
- 172_模型与Assimp介绍.mp4 72.44M
- 173_Mesh系统设计.mp4 66.85M
- 174_实践:Mesh类代码实现.mp4 64.55M
- 175_实践:Model类编写(一).mp4 103.81M
- 176_实践:Model类编写(二).mp4 182.04M
- 177_顶点与几何.mp4 80.29M
- 178_矩阵与变换回顾.mp4 91.88M
- 179_纹理复习.mp4 78.91M
- 180_shader复习.mp4 46.61M
- 181_material复习.mp4 56.62M
- 182_光照复习.mp4 70.53M
- 183_动画复习.mp4 56.73M
- 184_引擎Cmake组织架构.mp4 63.51M
- 185_triangle案例讲解.mp4 88.82M
- 186_cube案例讲解.mp4 67.80M
- 187_materials案例讲解.mp4 71.38M
- 188_modelLoading案例讲解.mp4 162.08M
- 189_animation案例.mp4 105.77M
- 190_引擎架构概览.mp4 57.70M
- 191_引擎代码概览.mp4 62.19M
- 192_智能指针详解.mp4 118.49M
- 193_Attribute类数据详解.mp4 86.40M
- 194_Attribute类接口详解.mp4 69.39M
- 195_geometry类详解.mp4 62.96M
- 196_包围球与包围盒.mp4 93.23M
- 197_Object3D成员参数详解.mp4 64.95M
- 198_Object3D类型与节点体系.mp4 47.60M
- 199_Object3D下的矩阵变换.mp4 113.46M
- 200_Object3DLookAt函数.mp4 83.50M
- 201_material详解.mp4 68.45M
- 202_camera详解.mp4 75.56M
- 203_cameralControl详解.mp4 150.92M
- 204_texture基类详解.mp4 73.20M
- 205_texture的读取详解.mp4 86.65M
- 206_sourceCache详解.mp4 63.87M
- 207_eventDispatcher详解.mp4 214.26M
- 208_FrontEnd其他类.mp4 43.27M
- 209_DriverWindow窗体初始化.mp4 117.71M
- 210_DriverWindow尺寸变化回调.mp4 65.41M
- 211_DriverWindow鼠标事件回调.mp4 55.46M
- 212_DriverWindow键盘响应.mp4 68.98M
- 213_渲染流程分析.mp4 99.26M
- 214_渲染列表构建.mp4 141.45M
- 215_渲染列表排序.mp4 93.47M
- 216_视锥体剪裁算法(一).mp4 45.70M
- 217_视锥体剪裁算法(二).mp4 57.67M
- 218_视锥体剪裁代码详解.mp4 75.57M
- 219_渲染场景解析流程.mp4 87.56M
- 220_VBO 解析架构理论.mp4 47.30M
- 221_DriverAttributes解析.mp4 107.44M
- 222_DriverGeometries解析.mp4 64.49M
- 223_DriverObjects详解.mp4 56.68M
- 224_VBO与VAO回顾.mp4 76.94M
- 225_绑定流程前.mp4 53.70M
- 226_顶点绑定详解(一).mp4 126.97M
- 227_顶点绑定详解(二).mp4 163.33M
- 228_Shader管理介绍.mp4 95.09M
- 229_DriverProgram详解(一).mp4 67.22M
- 230_DriverProgramShader处理.mp4 140.16M
- 231_program创建与参数创建.mp4 97.37M
- 232_DriverPrograms接口函数.mp4 57.15M
- 233_DriverMaterials解析.mp4 106.26M
- 234_Program设置流程.mp4 163.42M
- 235_Program更新生成流程.mp4 83.96M
- 236_ShaderChunk完整解析.mp4 159.72M
- 237_总结与回顾.mp4 65.30M
- 238_Uniform概念与分类.mp4 67.63M
- 239_Uniform相关接口.mp4 147.06M
- 240_Uniform系统基础编写思想.mp4 61.80M
- 241_简单Uniform详解.mp4 141.34M
- 242_StructuredUniform详解.mp4 64.72M
- 243_Uniform更新方案设计.mp4 114.47M
- 244_Uniform设计最终方案.mp4 177.65M
- 245_StructuredUniform外部组织代码.mp4 74.04M
- 246_PureArrayUniform外部组织代码.mp4 98.64M
- 247_Uniforms系统总结与外部系统.mp4 81.14M
- 248_UniformsLib介绍.mp4 81.79M
- 249_Uniforms更新主逻辑.mp4 117.10M
- 250_正则表达式案例.mp4 77.50M
- 251_UniformName的匹配.mp4 174.44M
- 252_Uniform匹配实现.mp4 113.61M
- 253_Uniforms系统总结回顾.mp4 88.02M
- 254_管线设置与绘制.mp4 139.57M
- 255_纹理系统技术回顾.mp4 61.62M
- 256_DriverTextures详解.mp4 110.37M
- 257_TextureUnit分配功能.mp4 102.54M
- 258_纹理更新过程.mp4 173.23M
- 259_CubeMap回顾及FrontEnd.mp4 74.20M
- 260_DriverBackground解析流程.mp4 105.92M
- 261_CubeMap的Shader系统.mp4 59.62M
- 262_CubeMap的Uniform更新.mp4 64.25M
- 263_纹理系统总结.mp4 52.72M
- 264_RenderTarget系统前端.mp4 100.21M
- 265_RenderTarget实例演示.mp4 44.24M
- 266_DriverRenderTargets详解.mp4 56.41M
- 267_RenderTarget的解析.mp4 106.50M
- 268_光照系统梗概.mp4 51.58M
- 269_MeshPhongShader解析(一).mp4 184.92M
- 270_MeshPhongShader解析(二).mp4 75.33M
- 271_光照缓存流程.mp4 51.55M
- 272_光照系统Uniform设计.mp4 59.06M
- 273_DriverLights类解析.mp4 96.73M
- 274_光照系统Uniform建设与更新.mp4 147.70M
- 275_阴影技术回顾.mp4 53.02M
- 276_阴影系统FrontEnd.mp4 88.16M
- 277_DepthShader解析.mp4 69.87M
- 278_阴影Shader解析.mp4 225.13M
- 279_阴影系统Uniform设计.mp4 51.52M
- 280_Shadow 信息更新.mp4 62.55M
- 281_DriverShadowMap解析.mp4 134.87M
- 282_阴影参数实验.mp4 166.82M
- 283_模型读取技术系解析.mp4 42.07M
- 284_模型材质读取.mp4 110.70M
- 285_节点的解析.mp4 63.77M
- 286_Mesh的读取与构建.mp4 68.30M
- 287_uv读取解析.mp4 94.58M
- 288_插值系统回顾.mp4 36.81M
- 289_Interpolant类讲解.mp4 91.51M
- 290_Interpolant不同插值讲解.mp4 60.10M
- 291_骨骼系统架构(一).mp4 47.00M
- 292_骨骼系统架构(二).mp4 30.42M
- 293_骨骼动画的Shader.mp4 66.58M
- 294_骨骼动画类架构解析.mp4 74.32M
- 295_骨骼数据读取.mp4 139.76M
- 296_骨骼动画架构总结.mp4 25.99M
- 297_动画系统架构解析.mp4 59.38M
- 298_动画系统类概览.mp4 83.83M
- 299_动画关键帧读取.mp4 76.95M
- 300_AnimationAction构造.mp4 41.17M
- 301_PropertyBinding解析.mp4 95.63M
- 302_动画系统整体流程.mp4 96.87M
- 课程1.小白入门OpenGL详解
- 1_项目文件夹介绍与工程配置.mp4 156.00M
- 2_代码架构概览.mp4 186.82M
- 3_反射的分类详解.mp4 166.22M
- 4_漫反射理论详解.mp4 149.41M
- 5_Geometry类的Box加入法线.mp4 327.75M
- 6_Geometry类的球与平面加入法线.mp4 156.37M
- 7_diffuse光照实现.mp4 352.83M
- 8_高光反射理论解析.mp4 198.86M
- 9_求视线方向代码实践.mp4 275.13M
- 课程2.计算机图形学—从0开始构建一个OpenGL软光栅
- 课程3.OpenGL渲染引擎-设计与实践
- 0517.赵新政OpenGL全家桶_文件目录.txt 15.14kb
- 赵新政OpenGL全家桶/






