跳转至

Berkeley CS184: 计算机图形学导论

简介

UC Berkeley 的计算机图形学课程,由 Ren Ng 教授主讲。课程涵盖图形学三大核心领域:建模(Modeling)、动画(Animation)、渲染(Rendering)。学生将通过一系列编程项目,从零构建完整的图形学系统,包括 3D 模型加载、物理模拟、光线追踪等。

CS184 的特点是理论与实践并重:每个知识点都对应一个动手项目,让你在实践中理解图形管线的每个环节。课程使用 C++ 和 OpenGL,要求学生具备一定的编程基础。

先修要求

  • C++ 编程能力:课程项目使用 C++,需要熟悉指针、内存管理、面向对象
  • 线性代数:矩阵变换、向量运算是图形学的基础数学工具
  • 微积分:理解光照模型和物理模拟需要基本的微积分知识
  • 数据结构:树、图等数据结构在场景图和加速结构中广泛使用

难度

🌟🌟🌟🌟(中高)

课程有一定数学和编程门槛,但讲解清晰,项目设计合理,适合有一定基础后学习。

学时

约 80-100 小时(15 周课程,每周约 5-7 小时)

  • 课堂讲授:每周 2 小时
  • 编程项目:每周 3-5 小时(共 5 个项目)
  • 阅读和复习:每周 1-2 小时

课程资源

自学建议

  1. 按顺序完成每个项目。 CS153W 的项目设计是递进的,每个项目都建立在前一个的基础上。不要跳过任何一个。

  2. 先理解数学,再写代码。 在做每个项目前,先确保你理解了背后的数学原理。比如做光线追踪前,先搞懂光线-三角形求交的几何推导。

  3. 善用调试工具。 图形学调试很痛苦——一个错位的矩阵可能让整个场景消失。学会使用 printf 调试法,逐步验证每个变换的结果。

  4. 参考 Real-Time Rendering。 课程推荐的参考书《Real-Time Rendering》是实时渲染领域的圣经,建议配合课程阅读相关章节。

  5. 结合 Godot 实践。 你在用 Godot 4 做游戏开发,可以尝试将 CS184 中学到的渲染技术应用到 Godot 的自定义着色器中,加深理解。