[−][src]Module pbrt::core
All the code for the PBRT core.
Modules
api | |
camera |
The abstract Camera base class holds generic camera options and defines the interface that all camera implementations must provide. |
efloat |
In addition to working out the error bounds algebraically, we can also have the computer do this work for us as some computation is being performed. This approach is known as running error analysis. |
film |
The type of film or sensor in a camera has a dramatic effect on the way that incident light is transformed into colors in an image. In pbrt, the Film class models the sensing device in the simulated camera. After the radiance is found for each camera ray, the Film implementation determines the sample's contribution to the pixel around the point on the film plane where the camera ray began and updates its representation of the image. When the main rendering loop exits, the Film writes the final image to file. |
filter |
All filter implementations are derived from an abstract Filter class, which provides the interface for the functions used in filtering. |
floatfile |
Read text files that store a series of floating-point values. |
geometry |
Almost all nontrivial graphics programs are built on a foundation of geometric classes. These classes represent mathematical constructs like points, vectors, and rays. |
integrator |
Rendering an image of the scene is handled by an instance of a class that implements the Integrator interface. |
interaction |
The geometry of a particular point on a surface is represented by a SurfaceInteraction. Having this abstraction lets most of the system work with points on surfaces without needing to consider the particular type of geometric shape the points lie on; the SurfaceInteraction abstraction supplies enough information about the surface point to allow the shading and geometric operations in the rest of pbrt to be implemented generically. |
interpolation |
Spline-based interpolation to reconstruct BSDF values (instead of using large lookup tables). |
light |
In order for objects in a scene to be visible, there must be a source of illumination so that some light is reflected from them to the camera sensor. |
lightdistrib | |
lowdiscrepancy | |
material |
The abstract Material class defines the interface that material implementations must provide. |
medium |
A key operation that Medium implementations must perform is to compute the beam transmittance along a given ray. |
memory | |
microfacet | |
mipmap | |
parallel | |
paramset | |
pbrt | |
primitive | |
quaternion | |
reflection |
When light is incident on the surface, the surface scatters the light, reflecting some of it back into the environment. There are two main effects that need to be described to model this reflection: the spectral distribution of the reflected light and its directional distribution. |
rng |
Random Number Generator |
sampler |
The Sampler base class not only defines the interface to samplers but also provides some common functionality for use by Sampler implementations. |
sampling |
Draw random samples from a chosen probability distribution. |
scene |
As the scene file is parsed, objects are created that represent the lights and geometric primitives in the scene. These are all stored in the Scene object. |
shape |
Careful abstraction of geometric shapes in a ray tracer is a key component of a clean system design, and shapes are the ideal candidate for an object-oriented approach. All geometric primitives implement a common interface, and the rest of the renderer can use this interface without needing any details about the underlying shape. This makes it possible to separate the geometric and the shading subsystem of pbrt. |
sobolmatrices | |
spectrum |
The Spectrum type hides the details of the particular spectral representation used, so that changing this detail of the system only requires changing the Spectrum implementation. |
texture |
Texture is a template class parameterized by return type of its evaluation function. This design makes it possible to reuse almost all of the code among textures that return different types. PBRT currently uses only Float and Spectrum textures. |
transform |
In general, transformations make it possible to work in the most convenient coordinate space. |