Skip to content
Ben Heasly edited this page Aug 21, 2015 · 10 revisions

The Interreflection recipe demonstrates how renderers can control the reflection of light among scene objects, and how these reflections affect the spectrum of light that reaches the camera and perceived object color.

Above, PBRT rendered the scene.

Above, Mitsuba rendered the scene.

Description

The parent scene contains two square panels, arranged in a "V". The camera and a point light with uniform white emission sit outside the "V", so as to view the interior angle. Both panels are manipulated to use matte material. The panel on the left, the "blue" panel, is a perfect reflector of short wavelengths and does not reflect long wavelengths. The panel on the right, the "white" panel, is a perfect reflector of all wavelengths.

The scene has 3 conditions that affect how light reflects between the panels:

  • In the "reference" condition, the scene is rendered with a path tracing integrator, which allows light to reflect back and forth between the panels, and allows the white panel to acquire some "blueness" from the blue panel.
  • In the "short path" condition, the scene is rendered with direct lighting only, so that the renderers do not permit reflection between panels, and the white panel cannot acquire any "blueness".
  • In the "convex" condition, the panels are rotated so that the camera views their exterior angle instead of their interior angle. Even with the path tracing integrator, there is no opportunity for light to reflect between panels, and the white panel acquires no "blueness".

Rendering

The executive script MakeInterreflection.m produced the images above. It is located at here:

(path-to-RenderToolbox3)/ExampleScenes/Interreflection/MakeInterreflection.m

Figure

The executive script MakeInterreflectionFigure.m produces a figure summarizing the results from the 3 Interreflection conditions.

Renderings and data from each condition are shown in separate rows. The bottom row shows details from each rendering, at the location of the orange or blue square. These emphasize visually the "blueness" of the white panel in the "reference" condition.

The column on the left shows renderings from from PBRT. The middle column shows renderings from Mitsuba.

The column on the right shows reflected spectral power at long wavelengths (red markers) and short wavelengths (blue markers), across the width of each rendering at the location of the dashed orange or blue line:

  • For the "reference" condition, long wavelengths are unreflected by the blue panel on the left, but reflected towards the camera by the white panel on the right. Short wavelengths are reflected by both panels, between the panels and towards the camera, so short wavelengths are reflected towards the camera in a vertically symmetric way, at greater power than long wavelengths.
  • For the "short path" condition, long wavelengths remain unreflected by the blue panel and reflected towards the camera by the white panel. Short wavelengths reach the camera in a vertically symmetric way, but since the renderers do not permit reflection between the panels, the power at short wavelengths has the same magnitude as the power at long wavelengths.
  • For the "convex" condition, long wavelengths are still unreflected by the blue panel and reflected towards the camera by the white panel. Short wavelengths still reach the camera in a vertically symmetric way, but the arrangement of the panels is not conducive to reflection between the panels, so the power at short wavelengths has the same magnitude as the power at long wavelengths.
Clone this wiki locally