getfromcode

3D计算机图形学编程指南

后端开发
课程简介

从数学基础到图形渲染管线:构建自主 3D 引擎的实战路径 本课程《3D 计算机图形学编程指南》的核心价值在于“手写渲染管线”,旨在解决开发者无法理解图形 API 底层原理、只能调用黑盒函数这一痛点。通过从零搭建渲染框架,你将直观掌握 3D 场景构建、相机控制及模型变换的完整数学逻辑,而非单纯记忆 OpenGL 等库的 API 调用。这门课不适合零基础的初学…

已有 17 人浏览 发布 2026-03-01 更新 2026-10-13

从数学基础到图形渲染管线:构建自主 3D 引擎的实战路径

本课程《3D 计算机图形学编程指南》的核心价值在于“手写渲染管线”,旨在解决开发者无法理解图形 API 底层原理、只能调用黑盒函数这一痛点。通过从零搭建渲染框架,你将直观掌握 3D 场景构建、相机控制及模型变换的完整数学逻辑,而非单纯记忆 OpenGL 等库的 API 调用。这门课不适合零基础的初学者,建议前置知识包括线性代数中的矩阵变换、向量运算以及基本的 C++ 面向对象编程能力。若你仅想快速出效果而不愿推导公式,直接观看本教程将难以消化,因为课程中大量篇幅用于讲解数学推导在代码中的映射过程。

工程架构设计:解耦数学库与渲染逻辑

在项目结构层面,本教程并未采用“所有代码写在一个文件”的初版做法,而是通过后续章节逐步重构为标准的工程架构。课程前几章会先通过 SDL 库初始化窗口并处理颜色缓冲区,随后迅速引入头文件拆分机制,将数学运算(Vector/Point)与图形绘制(Triangle/Line)分离。这种设计强制你理解“数学库”与“渲染后端”的解耦关系:前者负责坐标变换计算,后者负责将计算结果映射到屏幕像素。资料包中的头文件组织方式展示了如何管理公共依赖,避免命名冲突,这是后续扩展复杂场景时保持代码可维护性的关键。建议先跟着完成环境配置和基础向量类实现,再进入具体的几何变换章节。

核心模块复用:可移植的几何计算与动画控制

课程中后期聚焦的三角形绘制、光栅化算法及固定时间步长(Fixed Time Step)逻辑,构成了可复用的核心引擎模块。特别是“固定时间步长”部分,它解决了游戏循环中因帧率波动导致的物理逻辑不一致问题,这一机制完全可以迁移至你的其他 C++ 项目中。关于资料包的使用,请勿直接解压运行成品,而应逐章运行对照代码。重点观察数学公式(如投影矩阵计算)是如何转化为 C++ 函数调用的,以及附件中的测试模型数据是如何被加载进内存的。学完本系列内容后,你将具备独立开发轻量级 3D 模拟器、编写自定义渲染器或开发基础 3D 游戏引擎的能力,能够直接阅读和修改现代图形库的底层源码。

课程目录:

课程目录19 集
  • ├──01 Introduction
  • ├──02 Compiling our Project
  • ├──03 SDL Setup and Color Buffer
  • | └──attachments
  • ├──04 Multiple Header Files
  • | └──attachments
  • ├──05 Vectors and Points
  • ├──06 Projecting Points
  • | └──attachments
  • ├──07 Linear Transformations
  • | └──attachments
  • ├──08 Fixed Time Step
  • | └──attachments
  • ├──09 Triangles and Vertices
  • | └──attachments
  • ├──10 Line Drawing
  • | └──attachments
  • ├──11 Dynamic Arrays
  • | └──attachments
  • ├──12 OBJ Files
  • | └──attachments
  • ├──13 Vector Operations
  • | └──attachments
  • ├──14 Triangle Rasterization
  • | └──attachments
  • ├──15 Sorting Faces by Depth
  • | └──attachments
  • ├──16 Matrices
  • | └──attachments
  • ├──17 3D Matrix Transformations
  • | └──attachments
  • ├──18 Projection Matrix
  • | └──attachments
  • ├──19 Light and Shading
  • | └──attachments
  • ├──20 Texture Mapping
  • | └──attachments
  • ├──21 Perspective Correct Textures
  • | └──attachments
  • ├──22 Decoding PNG Files
  • | └──attachments
  • ├──23 Textured OBJ Files
  • | └──attachments
  • ├──24 Z-Buffer
  • | └──attachments
  • ├──25 Camera
  • | └──attachments
  • ├──26 Clipping
  • | └──attachments
  • ├──27 Code Polishing & Refactoring
  • | └──attachments
  • ├──28 Multiple Meshes
  • | └──attachments
  • ├──29 CPU vs(1). GPU Rasterization
  • | ├──attachments
  • | | ├──trianglerasterizer-230326-202115.zip 7.64kb
  • | | ├──trianglerasterizer-230326-202147.zip 7.37kb
  • | | ├──trianglerasterizer-230326-202219.zip 7.48kb
  • | | ├──trianglerasterizer-230326-202640.zip 6.98kb
  • | | ├──trianglerasterizer-230326-203744.zip 7.82kb
  • | | └──trianglerasterizer-230326-204609.zip 7.25kb
  • | ├──09 A Fixed-Point Rasterizer.txt 2.45kb
  • | ├──29.01 Dedicated Graphics Cards.srt 14.08kb
  • | ├──29.01 Dedicated Graphics Cards.vtt 14.89kb
  • | ├──29.02 Modern Graphics APIs & Shaders.srt 18.57kb
  • | ├──29.02 Modern Graphics APIs & Shaders.vtt 20.13kb
  • | ├──29.03 A Parallel Rasterization Algorithm.mp4 85.19M
  • | ├──29.03 A Parallel Rasterization Algorithm.srt 26.95kb
  • | ├──29.03 A Parallel Rasterization Algorithm.vtt 28.05kb
  • | ├──29.04 Determining Point Inside Triangle.srt 19.75kb
  • | ├──29.04 Determining Point Inside Triangle.vtt 21.44kb
  • | ├──29.05 Top-Left Rasterization Rule.srt 22.73kb
  • | ├──29.05 Top-Left Rasterization Rule.vtt 23.64kb
  • | ├──29.06 Edge Function & Barycentric Weights.srt 18.23kb
  • | ├──29.06 Edge Function & Barycentric Weights.vtt 19.27kb
  • | ├──29.07 Edge Function & Constant Increments.srt 22.59kb
  • | ├──29.07 Edge Function & Constant Increments.vtt 24.32kb
  • | ├──29.08 Subpixel Rasterization.srt 31.09kb
  • | └──29.08 Subpixel Rasterization.vtt 32.66kb
  • ├──29 CPU vs. GPU Rasterization
  • | └──attachments
  • ├──30 Conclusion and Next Steps
  • └──30 Conclusion and Next Steps(1)
  • | ├──01 Modern Hardware 3D Techniques.html 146.71kb
  • | ├──02 Older Hardware 3D Techniques.html 3.51M
  • | ├──30.03 Next Steps.srt 14.33kb
  • | └──30.03 Next Steps.vtt 15.45kb

课程目录

课程目录18 条
  • 01 Introduction
  • 02 Compiling our Project
  • 03 SDL Setup and Color Buffer
  • | └──attachments
  • 04 Multiple Header Files
  • 05 Vectors and Points
  • 06 Projecting Points
  • 07 Linear Transformations
  • 08 Fixed Time Step
  • 09 Triangles and Vertices
  • 10 Line Drawing
  • 11 Dynamic Arrays
  • 12 OBJ Files
  • 13 Vector Operations
  • 14 Triangle Rasterization
  • 15 Sorting Faces by Depth
  • 16 Matrices
  • 17 3D Matrix Transformations
  • 18 Projection Matrix
  • 19 Light and Shading
  • 20 Texture Mapping
  • 21 Perspective Correct Textures
  • 22 Decoding PNG Files
  • 23 Textured OBJ Files
  • 24 Z-Buffer
  • 25 Camera
  • 26 Clipping
  • 27 Code Polishing & Refactoring
  • 28 Multiple Meshes
  • 29 CPU vs(1). GPU Rasterization
  • | ├──attachments
  • | | ├──trianglerasterizer-230326-202115.zip 7.64kb
  • | | ├──trianglerasterizer-230326-202147.zip 7.37kb
  • | | ├──trianglerasterizer-230326-202219.zip 7.48kb
  • | | ├──trianglerasterizer-230326-202640.zip 6.98kb
  • | | ├──trianglerasterizer-230326-203744.zip 7.82kb
  • | | └──trianglerasterizer-230326-204609.zip 7.25kb
  • | ├──09 A Fixed-Point Rasterizer.txt 2.45kb
  • | ├──29.01 Dedicated Graphics Cards.srt 14.08kb
  • | ├──29.01 Dedicated Graphics Cards.vtt 14.89kb
  • | ├──29.02 Modern Graphics APIs & Shaders.srt 18.57kb
  • | ├──29.02 Modern Graphics APIs & Shaders.vtt 20.13kb
  • | ├──29.03 A Parallel Rasterization Algorithm.srt 26.95kb
  • | ├──29.03 A Parallel Rasterization Algorithm.vtt 28.05kb
  • | ├──29.04 Determining Point Inside Triangle.srt 19.75kb
  • | ├──29.04 Determining Point Inside Triangle.vtt 21.44kb
  • | ├──29.05 Top-Left Rasterization Rule.srt 22.73kb
  • | ├──29.05 Top-Left Rasterization Rule.vtt 23.64kb
  • | ├──29.06 Edge Function & Barycentric Weights.srt 18.23kb
  • | ├──29.06 Edge Function & Barycentric Weights.vtt 19.27kb
  • | ├──29.07 Edge Function & Constant Increments.srt 22.59kb
  • | ├──29.07 Edge Function & Constant Increments.vtt 24.32kb
  • | ├──29.08 Subpixel Rasterization.srt 31.09kb
  • | └──29.08 Subpixel Rasterization.vtt 32.66kb
  • 29 CPU vs. GPU Rasterization
  • 30 Conclusion and Next Steps
  • 30 Conclusion and Next Steps(1)
  • | ├──01 Modern Hardware 3D Techniques.html 146.71kb
  • | ├──02 Older Hardware 3D Techniques.html 3.51M
  • | ├──30.03 Next Steps.srt 14.33kb
  • | └──30.03 Next Steps.vtt 15.45kb
课程购买
课程价格
金币29
290金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。