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全家桶/