Maxing Out Your Bounces: Tuning Light Paths For Complex Transparency

Understanding Light Transport in Blender

When light interacts with transparent materials in Blender, the rays are traced as they refract through the object and reflect off other surfaces. This is computed by Blender’s light transport algorithms. The light paths can bounce many times, simulating the complexity of light behavior in the real world.

However, more bounces require more computation time. So Blender limits the number of light bounces to balance realism and render speed. The maximum number of bounces – for transparency in particular – is controlled by the “Transparent Max” render setting.

Additionally, individual materials can have custom bounce limits defined in their node editors. So glass may have a high number of bounces, while simple plastic may have very few.

Tuning these bounce limits appropriately is crucial for efficient renders with complex transparent materials. Too few bounces loses realism. Too many bounces creates excessive noise and drastically increases render times.

Light Behavior Terminology

  • Light Rays – The virtual photons traced from the camera and light sources as they interact with the scene.
  • Bounces – When rays intersect a surface and are reflected or refracted in a new direction.
  • Transmission – When light passes directly through a transparent or translucent surface.
  • Refraction – When light bends as it passes from one medium to another, like from air to glass.
  • Reflection – When light bounces off the outer surface of an object without passing through.

Render Settings Related to Light Bounces

  • Transparent Max – Limits the number of transparency bounces.
  • Transmission Bounce Factor – Can reduce subsequent transparency bounce intensity.
  • Reflective and Refractive Caustics – Special reflective and refractive calculations that can enhance realism.

Configuring Material Settings for Complex Transparency

The node editor offers fine control over how transparency is calculated on a per-material basis. Here we can configure bounce limits, include caustics, and reduce noise.

Setting a Custom Transparency Bounce Limit

Add a “Light Path” node between the Material Output and Surface shader nodes. Connect the “Is Transmission Ray” output to the “Transmission Depth” input of the Surface node.

Now we can precisely control the number of allowed transparency bounces for this specific material, overriding the global scene limit defined in Render properties.

Enabling Refractive Caustics

Check “Refractive Caustics” in the Material Settings. This calculates special light paths for caustics – concentrated patches of light focused when passing through transparent surfaces.

This can greatly enhance the realism of glass and water at the cost of longer render times. It should be used sparingly on select materials only.

Reducing Transparency Noise

The Light Path node’s “Transmission Bounce Factor” can progressively reduce the intensity of transmission rays after each bounce. This tricks the eye into seeing less noise in cases that would require excessive bounces.

Values between 0.1 and 0.5 work well in most cases. Make sure the final bounce intensity doesn’t get too close to true black or the material will lose noticeable transmitted light.

Optimizing Render Settings for Light Bounces

The key render properties that affect transparency bounces are “Transparent Max” and “Transmission Bounce Factor.” Tuning these appropriately can optimize renders.

Setting the Transparent Max Bounce Limit

This defines the global number of allowed transparency bounces across the entire scene. Start with 4-8 bounces for basic transparency.

For complex materials like glass and water, experiment with 10-16 bounces. Be aware this can greatly increase render times if the scene contains many transparencies.

Using Transmission Bounce Factor

Similar to the material level control, this progressively reduces transmission ray intensity after each bounce. Try starting with a value between 0.1 and 0.4.

This can simulate additional bounces while keeping the true bounce limit lower for faster renders. But take care not to lose too much transmitted light.

Setting Upper Bounce Limits on Specific Materials

Tuning custom bounce limits for specific transparent materials gives further control compared to the global scene limit.

Higher bounce values on hero glass and water assets can maximize realism where it counts. Lower limits on less important transparencies help maintain fast render speeds.

Choosing Materials to Single Out

Focus first on adjusting materials the camera sees through directly, like glass tableware, windows, liquids, etc. The quality and fidelity here impacts the final image much more noticeably.

Simpler transparent materials in the background can likely stay at defaults with no visible quality loss. Distant bottles, vases, lightbulbs, etc won’t need high bounce values.

Setting Custom Limits

Use the Node Editor “Light Path” node on the chosen materials. Start with +2 bounces over the scene default. For example, default of 6 + 2 = custom limit of 8.

Test rendering to check for sufficient realism. Further increase the limit if noise is still objectionable or realism suffers. But don’t go overboard adding bounces where they aren’t providing further improvements.

Using Caustics to Enhance Refractive Effects

Caustics are complex light interactions created by focused refraction or reflection. Light concentrated through curved glass or reflected off a curved chrome surface are common caustic examples.

Rendering caustics can greatly enhance images, but requires additional calculation so should be used judiciously. Enable caustics where they draw the eye rather than broadly across most transparent materials.

Enabling Refractive Caustics

In the Material Settings, check the “Refractive Caustics” box to include special refractive ray calculations after standard bounces are exhausted.

This will simulate light concentrating as it passes through transparent surfaces. But it also increases render times so use selectively only where needed.

Using Fake Caustics

As an alternative to true caustics, procedural noise textures can mimic water caustic effects with much faster render speeds.

Connect a Noise Texture node to the Surface Displacement input of a water material. Play with scale settings to get an approximate caustic look. Render fast but loses accuracy compared to real caustics.

Troubleshooting Issues with Excessive Noise

Getting clean renders with lots of transparency bounces can require troubleshooting various noise issues. Here are some common problems and potential solutions.

Fireflies

Isolated bright pixels that dart around frames. Increase number of AA samples. Check Light Path settings. Use Clamp settings on emission shaders.

Grainy Speckles

Noise especially in refractive caustics. Increase number of AA samples first. Raise caustic photons setting as needed. May simply require more render time.

Blurry Transmission

Clear sharp outlines turn blurry through transparent surfaces. Raise refractive roughness settings. Still too blurry, increase AA samples. Consider adding fake subsurface scattering.

Washed Out Transmission

Transmitted surfaces lose color intensity too quickly over bounces. Check transmission bounce factor not too high. Raise number of bounces allowed. Consider fake SSS again.

Example Node Setups for Common Transparent Materials

These node configurations demonstrate optimized settings for some frequently used transparent and translucent shader types.

Glass Material

  • Refraction Roughness: 0.02
  • Transmission Depth: 10
  • Refractive Caustics enabled
  • Fake SSS mixed with glass shader

Plastic Container Material

  • Refraction Roughness: 0.1
  • Transmission Depth: 4
  • Transmission Bounce Factor: 0.3

Skin Material

  • SSS Color Mix: 0.9
  • SSS Scale: 1-4cm
  • Transmission Depth: 6
  • Subsurface: 100%

Leave a Reply

Your email address will not be published. Required fields are marked *