Blender 2.93 and LuxCoreRender 2.6

Branch Render with Glasses Branch Render without Glasses
      This scene makes use of LuxCoreRender's Bidirectional Path Tracing with Vertex Merging (BDPTVM) integrator to solve specular-diffuse-specular (SDS) paths, shown in the caustic patterns cast on the table. The reflection of these caustics in the vase shown at the right hand side of the scene creates SDS paths, which are impossible to resolve with many path tracing techniques. To further complicate the scene, all light travels through a five gigabyte smoke simulation, which creates hazy patterns and light shafts.

       BDPTVM has an advantage over other photon-based techniques like Stochastic Progressive Photon Mapping (SPPM) in that it can be coalesced with Metropolis Light Transport (MLT) tenchiques to more robustly solve reflective and refractive caustics, such as those created by the glasses sitting on the table. MLT augments the light-finding abilities of path tracing by focusing computational resources on relevant or high-contribution paths; those which are more likely to make a meaningful contribution to the rendered image. This is accomplished by mutating a given path to explore nearby relevant contributions.

      With over 30,000,000 triangles due to heavy use of geometry displacement on the wall and table, the image at left was rendered to 10,000 Samples Per Pixel (SPP) in LuxCoreRender 2.6. To access LuxCoreRender's BDPTVM integrator, the user must first modify the BlendLuxCore Blender addon to enable the feature during export, as has been done in this example Python file beginning at line 187.