Skip to content

SimpleSquare

Ben Heasly edited this page Oct 17, 2016 · 8 revisions

The SimpleSquare recipe tests a simple rendering principle: that the spectrum of light reflected from an object should be equal to the element-wise product of the object's reflectance spectrum and the spectrum of illumination impinging on the object.

Above, PBRT rendered the scene.

Above, Mitsuba rendered the scene.

Description

The parent scene contains a square reflector, directly facing the camera. A point light sits behind the camera. Although the light, camera, and reflector are collinear, the point light is able to illuminate the reflector, and the camera casts no shadow.

The point light is manipulated to use the CIE D65 "daylight" emission spectrum. The reflector is manipulated to use a matte material, with various reflectances.

The scene has 24 conditions that vary the reflectance of the the reflector. Each condition uses a different reflectance spectrum from the Macbeth Color Checker chart.

By visual inspection, the PBRT and Mistuba renderings are similar.

Rendering

Use the script rtbMakeSimpleSquare.m to produce the images above.

Figure

Use the script rtbMakeSimpleSquareFigure.m to produce a summary of results from the SimpleSquare conditions.

The montage at the top of the figure is an sRGB representation of PBRT, Mitsuba, and "predicted" output spectra, all interleaved for side-by-side comparison. The PBRT and Mitsuba portions make up the top and bottom of each colored square, respectively. These were obtained directly from the renderers and converted to sRGB. The "predicted" patches in the center of each colored square were obtained by computing the element-wise product of the D65 illuminant spectrum with the reflectance spectrum of each square, converting the product to an sRGB representation, and filling the patch with that sRGB value.

By visual inspection, the PBRT, Mitsuba, and predicted sRGB values appear to be similar. The plots at the bottom of the figure compare the output and predicted spectra in greater detail.

The plot at the bottom right samples the PBRT and Mitsuba output spectra at the locations indicated by the orange square and blue cross in the montage. The plot shows the CIELAB distances between the rendered spectrum and the predicted spectrum, for each condition. The greatest CIELAB distance occurs for the 3rd tile, which looks "blue". For both renderers, this distance is less than 1, indicating that all of the spectral differences are expected to be less than human detection threshold.

Thus, PBRT and Mitsuba seem to obey the rendering principle that reflected color should equal the element-wise product of reflectance and illuminant spectra.

The plot at the bottom left shows details for representative PBRT and Mitsuba output spectra and predicted spectra. Representatives are taken from tiles numbered 3, 7, 11, and 24, which look "red", "green", "blue", and "dark gray". The PBRT, Mitsuba, and predicted spectra generally coincide.

Clone this wiki locally