跳转至

Ray Tracing in One Weekend

简介

Ray Tracing in One Weekend 是由 Peter Shirley 编写的一系列光线追踪教程,共三本书。教程用几百行 C++ 代码,带你从零实现一个完整的光线追踪器,三天就能完成。

这个系列是图形学入门的最佳实践项目。你将亲手实现:光线生成、物体求交、反射折射、阴影、散射、相机系统、加速结构等核心图形学概念。完成后你会得到一张自己渲染的精美图片,成就感极强。

三本书的内容递进: - 第一本书:基础光线追踪,实现一个简单的渲染器 - 第二本书:加入纹理、体积渲染、实例化、BVH 加速结构 - 第三本书:实现一个完整的路径追踪器,支持全局光照

先修要求

  • C++ 基础:熟悉基本语法即可,不需要高级特性
  • 基本数学:向量运算(加减、点积、叉积),教程中有详细解释
  • 无需图形学基础:这个教程本身就是图形学入门

难度

🌟🌟(入门)

教程从零开始,数学推导详细,代码简洁,是图形学入门的最佳起点。

学时

约 20-30 小时(三本书,每本约 7-10 小时)

  • 第一本书:约 7-10 小时
  • 第二本书:约 7-10 小时
  • 第三本书:约 7-10 小时

课程资源

自学建议

  1. 一定要亲手敲代码。 不要复制粘贴。自己敲每一行代码,理解每一行的作用。遇到报错时,尝试自己调试。

  2. 不要赶进度。 虽然叫"One Weekend",但不必急于一天完成。每个章节都有丰富的知识点,慢慢消化比快速刷完更有价值。

  3. 修改参数,观察变化。 试着改变材质参数、光源位置、相机角度,观察渲染结果的变化。这是理解图形学原理最好的方式。

  4. 画图辅助理解。 光线的反射、折射、散射过程用画图来理解比纯文字高效得多。

  5. 完成后尝试扩展。 三本书完成后,可以尝试添加自己的特性:景深、运动模糊、环境光遮蔽等。这是从"跟着做"到"自己创造"的关键一步。