PBRT V3 — 基础理论与代码实践

PBRT V3-从零到完全吃透系列

学习PBRT难吗?很多人都说它很难,尤其是不知道如何下手。但是,相信您跟着本系列书,一步一步走下去,就会发现,PBRT其实非常简单,而且,在学习的同时您就能自己构建出一个PBRT系统!我们直接从PBRT3开始学起,尽管相比前两代,第三代增加了很多内容,但跟着本书走,PBRT3并不会很复杂。
本书特点:本系列追求通俗易懂,知之而用之。每本小书都能在两三天之内学完,加上代码实现部分学习时间不会超过四天;每学完一本书我们都会把PBRT的实现方法升级到自己的引擎中。虽然PBRT源码较为复杂,但相信跟着本书走,您就会发现PBRT的流程和算法其实非常清晰。本书不但要求掌握PBRT源码,还希望读者在研究源码的同时,自己实现一个PBRT系统。
本系列于2022年6月下旬开始再版,并于7月17日将《基本理论与代码实战》的16本电子书全部再版完毕,并提供了每本书的源码。
本文源码地址: https://github.com/feimos32/PBRT3-DezemingFamily

本文较大的模型资源:


希望读者在阅读本系列小书之前,已经实现过《光追三部曲》的轻量级光线追踪器。我们之后会以该轻量级引擎为基础,学习PBRT的实现方式。同时动手移植和实现PBRT引擎到我们自己的系统上。只有当您能够自己根据PBRT来逐步移植实现一个较为复杂的引擎时,才能说您已经真正掌握了PBRT。


PBRT入门:

本系列包含四本书:明白PBRT的场景文件是怎么使用,以及如何读取到程序中初始化各个类然后启动渲染的;学习PBRT中最简单的Whitted光追源码,并快速实现一个PBRT风格的光线追踪器;掌握PBRT形状类和加速器结构并应用到自己的工程中;掌握和应用PBRT的颜色与光谱结构。
前十五本小书和补充专题复杂模型接口书已发布,如果大家有问题欢迎留言。本系列书全套售价为40元,每本价格已标注在前言,各不相同,但读者可以免费下载并使用。如果在学习中其中某本书对您有帮助,可以相应地进行支持,您的支持将是我们继续完善DezemingFamily原理实战等多个系列的动力!

· PBRT系列1-文件加载和设定

· PBRT系列2-代码实战-Whitted光线追踪引擎

· PBRT系列3-代码实战-形状和加速器

· PBRT系列4-代码实战-颜色与光谱

PBRT进阶:

本系列包含六本书:学习和移植PBRT的相机系统。研究PBRT的误差界定原理和内存管理,可以移植误差界定到自己的系统中(不移植也可以,但至少能看懂源码究竟在做什么)。学习和移植PBRT的采样器,比较时钟随机数和低差异序列的优劣。学习PBRT的反射模型,材质和基本的常量纹理,实现漫反射和镜面反射材质,并学习和移植PBRT光源,渲染出基于物理光照的效果。最后我们补充一些之前没有特别注意的比较零散的知识点和内容,作为研究PBRT高阶部分的铺垫。

· PBRT系列5-代码实战-相机系统

· PBRT系列6-代码实战-误差界定和内存管理

· PBRT系列7-代码实战-采样器和渲染器

· PBRT系列8-代码实战-反射与材质初步了解

· PBRT系列9-代码实战-灯光基础与完整的光线追踪器

· PBRT系列10-代码实战-一些零散和琐碎的内容补充

PBRT高级

本系列包含五本书:学习PBRT的路径追踪器原理,实现完整的路径追踪系统。学习PBRT中的微表面材质,简单了解原理,并移植测试成功。实现完整的基于重要性采样和MIPMap的无限面光源。学习和实现PBRT中光线微分原理,并实现模型与纹理读取与加载。实现PBRT的参与介质的表示以及体渲染算法。

· PBRT系列11-代码实战-路径追踪

· PBRT系列12-代码实战-微表面材质

· PBRT系列13-代码实战-无限面光源

· PBRT系列14-代码实战-光线微分与纹理

· PBRT系列15-代码实战-参与介质与体渲染

· PBRT系列16-系统功能扩展-复杂模型的读取接口

隐藏
变装