1.3 pbrt System Overview
$pbrt$采用标准的面向对象技术构建。$pbrt$的大部分是由下表中的14个基本类型实现的。
Base Type | Section |
---|---|
Spectrum | 4.5 |
Camera | 5.1 |
Shape | 6.1 |
Primitive | 7.1 |
Sampler | 8.3 |
Filter | 8.8.1 |
BxDF | 9.1.2 |
Material | 10.5 |
FloatTexture | 10.3 |
SpectrumTexture | 10.3 |
Medium | 11.4 |
Light | 12.1 |
LightSampler | 12.6 |
Integrator | 1.3.3 |
从概念上,我们可以将pbrt分为三个阶段。
- 解析用户提供的场景描述文件。场景描述存储在文本文件中,它指定了构成场景的几何形状、它们的材质属性、场景中的灯光、虚拟相机的位置、以及pbrt系统中使用的所有独立算法的参数。当解析完成后,我们能够获取一个
BasicScene
类的实例,它存储了我们为场景指定的各种信息,但并不能直接用于渲染。 - 在pbrt的第二个阶段中,pbrt会根据解析的场景创建出特定的对象。比方说,如果指定了透视投影,则pbrt会在这个阶段中创建一个
PerspectiveCamera
对象。 - 在第三阶段中,主渲染循环将会被执行,这也是pbrt中耗时最长的阶段。本书中的大部分内容也是围绕这个阶段展开的。
本文由作者按照 CC BY 4.0 进行授权