文章

1.3 pbrt System Overview

$pbrt$采用标准的面向对象技术构建。$pbrt$的大部分是由下表中的14个基本类型实现的。

Base TypeSection
Spectrum4.5
Camera5.1
Shape6.1
Primitive7.1
Sampler8.3
Filter8.8.1
BxDF9.1.2
Material10.5
FloatTexture10.3
SpectrumTexture10.3
Medium11.4
Light12.1
LightSampler12.6
Integrator1.3.3

从概念上,我们可以将pbrt分为三个阶段。

  1. 解析用户提供的场景描述文件。场景描述存储在文本文件中,它指定了构成场景的几何形状、它们的材质属性、场景中的灯光、虚拟相机的位置、以及pbrt系统中使用的所有独立算法的参数。当解析完成后,我们能够获取一个BasicScene类的实例,它存储了我们为场景指定的各种信息,但并不能直接用于渲染。
  2. 在pbrt的第二个阶段中,pbrt会根据解析的场景创建出特定的对象。比方说,如果指定了透视投影,则pbrt会在这个阶段中创建一个PerspectiveCamera对象。
  3. 在第三阶段中,主渲染循环将会被执行,这也是pbrt中耗时最长的阶段。本书中的大部分内容也是围绕这个阶段展开的。
本文由作者按照 CC BY 4.0 进行授权