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系列1-文件加载和设定下载

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

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

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

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

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

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

PBRT进阶:

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

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

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

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

PBRT系列6-误差界定和内存管理下载

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

PBRT系列7-代码实战-采样器与渲染器下载

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

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

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

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

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

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

PBRT高级

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

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

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

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

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

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

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

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

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

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

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

PBRT专精(见“专业知识”页面)

本系列内容包含了各种专业知识,会根据本人业余时间来写作。前面15本书在诸多内容上,例如微表面材质、采样器原理等的多以移植应用为主,而缺少实际理论的讲解。系列19作为一个补充内容,放在PBRT基础知识部分,后面的专题参加“专业知识”页面。

PBRT系列16-专业知识理论与代码实战-物理材质

PBRT系列17-专业知识理论与代码实战-概率与采样

PBRT系列18-专业知识理论与代码实战-次表面散射

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

PBRT系列19-系统功能扩展-复杂模型的读取接口下载

PBRT系列20-专业知识理论与代码实战-切线空间与凹凸贴图、透明贴图

PBRT系列21-专业知识理论与代码实战-运动模糊与实例化

PBRT系列22-专业知识理论与代码实战-准蒙特卡洛与低差异序列

PBRT系列23-专业知识理论与代码实战-图像重建与滤波

PBRT高级积分器系列(见“专业知识”页面)

下面的这些积分器我都曾自己实现过,但实现中参考的并非PBRT的代码。我决定按照PBRT的方式再研究和实现一遍,并把原理和实现过程都详细地进行描述。

PBRT系列24-高级积分器-随机渐进式光子映射

PBRT系列25-高级积分器-Metropolis光传输

PBRT系列26-高级积分器-双向路径追踪

PBRT系列27-高级积分器-球谐光照积分器

PBRT——零基础到完全吃透系列相关推荐

  1. 零基础 ABAP 学习教程系列文章的目录

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

  2. 【零基础玩转BLDC系列】基于反电动势过零检测法的无刷直流电机控制原理

    无刷直流电动机基本转动原理请参考<基于HALL传感器的无刷直流电机控制原理>,基本原理及基础知识本篇不再赘述. 位置传感器的存在限制了无刷直流电机在某些特定场合中的应用,如:使电机系统的体 ...

  3. 【零基础玩转BLDC系列】无刷直流电机闭环控制与软件架构

    无刷直流电动机基本转动原理等内容请参考<基于霍尔传感器的无刷直流电机控制原理>.<基于反电动势过零检测法的无刷直流电机控制原理>.<以GD32F30x为例定时器相关功能详 ...

  4. 零基础学Android开发系列

    目标:沉浸了这么久,准备写点文章,在写文章的同时,巩固Android开发的基础知识,每天一个Android小案例,从零带领大家开发简单的Android应用.

  5. 【零基础玩转BLDC系列】无刷直流电机无位置传感器三段式启动法详细介绍及代码分享

    无刷直流电动机基本转动原理等内容请参考<基于霍尔传感器的无刷直流电机控制原理>.<基于反电动势过零检测法的无刷直流电机控制原理>与<以GD32F30x为例定时器相关功能详 ...

  6. python爬虫urllib文档_11.【文本】Urllib(下) - 零基础学习Python爬虫系列

    本文是视频av20148524的相关代码文档 # urllib(下) # post # post 和 get 传递参数同时存在的一个url url = "http://bbs.mumayi. ...

  7. WHERE条件子句 | 零基础自学SQL课程系列Day5

    大家好,我是宁一. 今天是SQL教程的第五课:来看看WHERE条件子句的用法. WHERE子句基本语法: SELECT <字段名> FROM <表名> WHERE <筛选 ...

  8. ORDER BY 排序子句 | 零基础自学SQL课程系列Day6

    大家好,我是宁一. 今天是SQL教程的第六课,来看看ORDER BY 排序子句. ORDER BY语句是用来排序的,后面跟的是字段名. 基本语法: SELECT <字段名> FROM &l ...

  9. INSERT 插入语句 零基础自学SQL课程系列Day8

    大家好,我是宁一. 今天是SQL教程的第八课. 这节课讲讲 INSERT插入语句,用来像数据库中添加数据. 基本语法: INSERT INTO <表名> (列名)VALUES (值); 1 ...

  10. **浅谈STM32系列单片机的零基础学习方法**

    浅谈STM32系列单片机的零基础学习方法 *很多朋友想必在零基础学习STM32F1这系列单片机时会感觉无从下手,或者不知道写程序时到底是用库函数好还是寄存器好.* 我个人认为一个零基础的朋友可以通过以 ...

最新文章

  1. python写简单购物车_python简单的购物车程序(含代码)
  2. json list格式_来来来,一文让你读懂Cocos Creator如何读写JSON文件
  3. 利用线性链表基本操作完成两个有序线性表的合并
  4. Zookeeper基于Java访问-节点事件监听
  5. AlwaysOn 2016 新特性和提升
  6. iOS 处理键盘遮挡TextField、TextView问题
  7. Win8下怎样安装Win7 or Win7下怎样安装win8?
  8. CentOS7 Ambari2.7.4编译
  9. Android开源库集锦
  10. Mysql设置binlog过期时间并自动删除
  11. [18/12/3]蓝桥杯 练习系统 入门级别 Fibonacci数列求模问题 题解思路
  12. 《深入理解计算机系统》勘误建议
  13. fclose用法matlab,fclose和close之间的区别
  14. 三年建模师告诉你3DMAX有没有前途
  15. PHP连接MySQL数据库的三种方式
  16. linux esp分区,win10esp分区多大合适
  17. js html post提交表单,JS动态创建表单post提交
  18. 揭密Emulex SAN光纤云存储网关的概念
  19. go语言多package使用实战
  20. Leetcode算法——50、实现乘方运算

热门文章

  1. 怎样音频转文字?用这些音频转文字免费版就可以啦
  2. 天天生鲜Django项目
  3. 计算机实验excel总结,EXCEL实验报告
  4. 软考论文写作方法及规范
  5. app抓包工具_【旧版IPA抓包教程2】超便捷苹果旧版本APP抓包/轻松抓取你想要的版本,旧版app任意下载...
  6. supermap大赛用得到python吗_Esri杯GIS大赛和SuperMap杯GIS大赛如何选择?
  7. 国内第三个双机场城市新机场试飞,6月正式投用
  8. 【Redis 开发与运维】开发运维的“陷阱”
  9. 传感技术复习笔记(10)——光纤传感器
  10. PLSQL Developer详细安装步骤