PBRT源码解读 见 PBRT源码解读
个人网站:Dezeming Family
PBRT-从零到完全吃透系列
学习PBRT难吗?很多人都说它很难。但是,相信您跟着本系列书,一步一步走下去,您就会发现PBRT其实非常简单,而且,在学习的同时您就能自己构建出PBRT引擎!我们直接从PBRT3开始学起,尽管相比前两代,第三代增加了很多内容,但跟着本书走,PBRT3并不会很复杂。
本书特点:本系列追求通俗易懂,知之而用之。每本小书都能在两三天之内学完,加上代码实现部分学习时间不会超过四天;每学完一本书都会把PBRT的实现方法升级到自己的引擎中。虽然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专精(见“专业知识”页面)
本系列内容包含了各种专业知识,会根据本人业余时间来写作。前面15本书在诸多内容上,例如微表面材质、采样器原理等的多以移植应用为主,而缺少实际理论的讲解。系列19作为一个补充内容,放在PBRT基础知识部分,后面的专题参加“专业知识”页面。
PBRT系列16-专业知识理论与代码实战-物理材质
PBRT系列17-专业知识理论与代码实战-概率与采样
PBRT系列18-专业知识理论与代码实战-次表面散射
· PBRT系列19-系统功能扩展-复杂模型的读取接口
PBRT系列20-专业知识理论与代码实战-切线空间与凹凸贴图、透明贴图
PBRT系列21-专业知识理论与代码实战-运动模糊与实例化
PBRT系列22-专业知识理论与代码实战-准蒙特卡洛与低差异序列
PBRT系列23-专业知识理论与代码实战-图像重建与滤波
PBRT高级积分器系列(见“专业知识”页面)
下面的这些积分器我都曾自己实现过,但实现中参考的并非PBRT的代码。我决定按照PBRT的方式再研究和实现一遍,并把原理和实现过程都详细地进行描述。
PBRT系列24-高级积分器-随机渐进式光子映射
PBRT系列25-高级积分器-Metropolis光传输
PBRT系列26-高级积分器-双向路径追踪
PBRT系列27-高级积分器-球谐光照积分器