Exploration: Glass

The intention of this exploration was to compare different render engines and methods of path tracing and photon mapping.


This comparison exhibits the strenghts of Stochastic Progressive Photon Mapping (SPPM) in comparison to simple path tracing light integrators. This strength manifests in lower percieved noise across the image plane; an example of this is seen at right.


For more information on SPPM, I suggest this helpful chapter of PBRT.

At left is an array of crops from various parts of the same scene, with identical material definitions, rendered in either LuxRender or LuxCoreRender (referred to in the image as LuxCore).


Uni-Directional path tracing integrators approximate global illumination by tracing a ray originating from the camera (the viewer) which moves out into the scene, intersecting light sources and geometry in its path.


Bidirectional path tracing is a more robust approach to PT, generating one ray from a light source, and one from the camera. This is further enhanced in this case with LuxCoreRender's implementation of Metropolis Light Transport.


Unlike uni-directional path tracing integrators, SPPM builds upon Progressive Photon Mapping, tracing an "eye pass" from the camera, then generating a "photon pass" from light sources. Dissimilar from PPM, however, SPPM utilizes a "distributed" photon pass to calculate light contribution from the camera's perspective. In effect this means an "eye pass" is computed after every "photon pass" rather than only a single "eye pass" at the start of rendering. Both PPM and SPPM "map" photons to surfaces, rather than computing rays traversing the scene (as the name suggests). The paper defining this method of global illumination can be found here.

LuxRender 1.3.1 & Blender 2.69

LuxCoreRender 2.4 & Blender 2.83 LTS

The image at left shows the scene rendered with LuxCoreRender 2.4 with Open Intel Image Denoise enabled. Although detail is lower, due to the "smearing" effect of the denoiser, the image is very clean.


The image above contains the full scene rendered with various methods. It is best viewed opened in a new tab.