这门课解决什么问题
很多开发者学过图形学理论,或者用过现成的渲染引擎,但真被问到“屏幕上那个像素点是怎么从三维坐标算出来的”,往往答不上来。这门课解决的就是这个断层:不依赖任何第三方图形库,只给你一个最底层的画点接口,带你用C++从零写出一个软光栅渲染器。它不教你调参,也不教美术管线,而是逼你直面矩阵变换、投影、裁剪、深度测试这些底层机制。如果你做游戏开发、CAD工具或可视化引擎,经常对底层数学原理心里没底,这门课能把那块缺失的拼图补上。
适合什么基础与建议先看哪几块
资料对基础的要求很明确:你得有过得去的C++能力,能看懂指针和内存管理,线性代数不能全还给老师,向量叉乘和矩阵乘法得有概念。完全零基础的新手不建议碰,很容易卡在环境配置上。建议先把工程环境与直线绘制这部分啃完,这是整门课的地基。课程从CMake配置到Windows窗体构建,再到GDI绘图环境搭建,是一套非常典型的底层工程搭建流程。把这部分跑通,你才算真正站稳了脚跟,后续推导三维变换时才不会分心去查系统API怎么调。
学完能独立做什么与资料怎么配合练习
学完后,你能独立写出一个可以运行的三维软光栅渲染器,明白怎么把空间里的物体通过模型、视图、投影变换映射到二维屏幕上,并且能自己实现画线、三角形填充和遮挡剔除。看资料的时候,不要只用眼睛跟着视频走,务必把源代码下载下来,一边看一边在自己本地的工程里敲。每看完一个模块,比如讲完了窗体构建,就停下来自己改改代码,试试把背景色换掉,或者手动在屏幕上画个直线。这套资料的价值在于手把手带你趟平底层开发的坑,只有自己亲手把编译报错解决掉、把画点函数调出来,三维世界的构建才算真正在你手里跑起来。
只给你一个画点的功能,通过C++构建一个三维世界
课程目录
* 01 课程导学/
* 01 课程导学与课程安排.mp4 (69.03 MB), 18:11
* 02 课程作品展示.mp4 (5.62 MB), 01:06
* 03 源代码下载.txt (0.00 MB)
* 02 工程环境与直线绘制/
* 01 CMake工程配置(一).mp4 (45.13 MB), 14:25
* 02 CMake工程配置(二).mp4 (66.95 MB), 19:22
* 03 WindowsAPI介绍.mp4 (44.48 MB), 12:16
* 04 Windows窗体构建.mp4 (57.24 MB), 16:12
* 05 实践:窗体构建与代码架构.mp4 (81.46 MB), 19:22
* 06 WindowsGDI介绍.mp4 (46.37 MB), 15:22
* 07 实践:绘图环境搭建.mp4 (100.31 MB), 21:23
* 08 Brensenham直线绘制算法.mp4 (125.66 MB), 29:59
* 09 实践:直线绘制算法代码.mp4 (79.14 MB), 15:37
* 10 实践:彩色直线绘制.mp4 (59.96 MB), 11:44
* 03 三角形绘制/
* 01 线性代数-向量基础.mp4 (51.87 MB), 13:54
* 02 线性代数-向量叉乘专题.mp4 (64.73 MB), 18:00
* 03 实践:向量类代码设计.mp4 (50.97 MB), 13:01
* 04 实践:向量功能函数代码设计.mp4 (49.70 MB), 09:32
* 05 实践:三角形扫描线绘制算法代码设计.mp4 (29.28 MB), 08:21
* 06 三角形重心插值算法.mp4 (31.10 MB), 10:52
* 07 实践:彩色三角形绘制.mp4 (27.27 MB), 06:36
* 04 图片与纹理/
* 01 实践:图片读取与显示.mp4 (60.39 MB), 13:04
* 02 实践:颜色混合绘制.mp4 (36.06 MB), 11:17
* 03 UV坐标详解.mp4 (28.84 MB), 12:39
* 04 实践:UV坐标系统代码.mp4 (61.88 MB), 12:11
* 05 双线性插值算法.mp4 (36.31 MB), 13:42
* 06 实践:双线性插值代码设计.mp4 (55.79 MB), 12:27
* 07 纹理的Wrap性质.mp4 (26.87 MB), 10:21
* 08 实践:Wrap代码与纹理动画.mp4 (27.69 MB), 07:16
* 05 矩阵理论基础/
* 01 矩阵概论.mp4 (24.56 MB), 11:00
* 02 矩阵的行列视图.mp4 (61.13 MB), 22:11
* 03 矩阵行列式计算.mp4 (32.61 MB), 14:46
* 04 矩阵行列式基本性质.mp4 (35.52 MB), 15:45
* 05 矩阵性质与化简.mp4 (36.51 MB), 15:10
* 06 矩阵行列式几何意义.mp4 (58.28 MB), 21:35
* 07 矩阵的逆矩阵计算.mp4 (43.17 MB), 19:50
* 08 实践:矩阵类代码设计.mp4 (43.81 MB), 08:29
* 09 实践:矩阵功能函数代码设计.mp4 (119.19 MB), 22:47
* 06 空间变换/
* 01 二维空间变换理论.mp4 (37.35 MB), 16:06
* 02 三维空间变换理论.mp4 (33.34 MB), 15:37
* 03 绕任意轴旋转矩阵.mp4 (65.75 MB), 24:27
* 04 视图变换矩阵.mp4 (73.82 MB), 26:41
* 05 矩阵变换与基向量坐标系.mp4 (79.92 MB), 29:07
* 06 实践:空间变换代码设计.mp4 (123.62 MB), 26:08
* 07 正交投影变换矩阵.mp4 (54.39 MB), 20:12
* 08 透视投影变换矩阵.mp4 (87.94 MB), 31:30
* 09 屏幕空间变换矩阵.mp4 (32.22 MB), 12:28
* 10 实践:实现三维旋转的三角形.mp4 (50.65 MB), 11:15
* 07 渲染管线/
* 01 渲染管线概念与设计.mp4 (83.69 MB), 28:29
* 02 几何信息存储-VBO.mp4 (46.01 MB), 18:21
* 03 几何信息存储-VAO与EBO.mp4 (56.89 MB), 19:40
* 04 实践:渲染管线搭建与代码重构.mp4 (76.04 MB), 14:29
* 05 实践:VAO-VBO代码设计.mp4 (94.74 MB), 18:59
* 06 图形状态机理论.mp4 (41.41 MB), 12:53
* 07 实践:几何数据操作接口.mp4 (76.79 MB), 13:51
* 08 Draw流程与Shader设计.mp4 (36.17 MB), 13:59
* 09 实践:Shader类代码设计.mp4 (65.90 MB), 13:05
* 10 实践:Draw函数代码及三角形绘制案例.mp4 (110.98 MB), 20:17
* 08 高级渲染管线功能/
* 01 剪裁算法—前置几何知识.mp4 (27.38 MB), 11:15
* 02 剪裁算法—多边形剪裁算法.mp4 (86.48 MB), 31:06
* 03 实践:剪裁算法代码设计.mp4 (186.05 MB), 34:58
* 04 透视修正推导与算法.mp4 (109.39 MB), 43:08
* 05 实践:透视修正代码设计.mp4 (38.50 MB), 07:17
* 06 实践:背面剔除算法与代码设计.mp4 (90.59 MB), 16:25
* 07 实践:深度测试算法与代码设计.mp4 (85.99 MB), 15:38
* 08 实践:颜色混算法与代码设计.mp4 (43.25 MB), 07:46
* 09 实践:纹理系统代码设计.mp4 (91.63 MB), 16:02
* 09 应用案例/
* 01 摄像机系统设计.mp4 (30.74 MB), 12:20
* 02 实践:摄像机类实现代码.mp4 (151.96 MB), 28:44
* 03 Lambert光照模型介绍.mp4 (43.13 MB), 16:32
* 04 实践:Lambert光照代码设计.mp4 (82.17 MB), 15:20
* 05 模型与Assimp库介绍.mp4 (69.82 MB), 19:52
* 06 Mesh系统设计.mp4 (73.92 MB), 16:39
* 07 实践:Mesh类代码实现.mp4 (52.05 MB), 10:11
* 08 实践:Model类编写(一).mp4 (86.71 MB), 15:57
* 09 实践:Model类编写(二).mp4 (102.20 MB), 19:10






