07 – Sampling and Reconstruction

Although the final output of a renderer like pbrt is a two-dimensional grid of colored pixels, incident radiance is actually a continuous function defined over the film plane. The manner in which the discrete pixel values are computed from this continuous function can noticeably affect the quality of the final image generated by the renderer; if this process is not performed carefully, artifacts will be present. Fortunately, a relatively small amount of additional computation to this end can substantially improve the quality of the rendered images. This chapter introduces sampling theory—the theory of taking discrete sample values from functions defined over continuous domains and then using those samples to reconstruct new functions that are similar to the original. Building on principles of sampling theory, the Samplers in this chapter select sample points on the image plane at which incident radiance will be computed (recall that in the previous chapter, Cameras used Samples generated by a Sampler to construct their camera rays). Three Sampler implementations are described in this chapter, spanning a variety of approaches to the sampling problem. This chapter concludes with the Filter class. The Filter is used to determine how multiple samples near each pixel are blended together to compute the final pixel value.