Please note that this documentation space offers information for V-Ray 3.6! For most up-to-date documentation, refer to V-Ray Next for Modo help.

This page provides information on Indirect Illumination and the different approaches to it in V-Ray for Modo.

 

Section Contents

Page Contents

 

Overview


Indirect illumination refers to illumination that results from the bounced light in a scene, as opposed to illumination directly from light sources. Global Illumination (or GI) refers to the computation of this effect through computer graphics.

V-Ray implements several approaches (called engines) for computing indirect illumination with different trade-offs between quality and speed. The engine selected as the primary is used to compute the first light bounce, while the secondary engine is used to compute any subsequent bounces. A primary diffuse bounce occurs when a shaded point is directly visible by the camera, or through specular reflective or refractive surfaces. A secondary bounce occurs when a shaded point is used in GI calculations. These engines can be combined in a number of ways to get the desired result in the minimum time. For details on the render settings for Global Illumination, please see the GI Render Settings page within these docs.

V-Ray for MODO comes packaged with several standalone tools and utilities, including an Irradiance map viewer for viewing, merging and saving irradiance map files.

 

Indirect Illumination Engines


Brute Force

This is the simplest approach; indirect illumination is computed independently for each shaded surface point by tracing a number of rays in different directions on the hemisphere above that point.

Advantages:

  • This approach preserves all the detail (e.g. small and sharp shadows) in the indirect lighting.
  • It is free from defects like flickering in animations.
  • No additional memory is required.
  • Indirect illumination in the case of motion-blurred moving objects is computed correctly.
  • The GI calculations can be distributed over multiple machines using Distributed Rendering (DR).

Disadvantages:

  • The approach is very slow for complex images (e.g. interior lighting).
  • It tends to produce noise in the images, which can be avoided only by shooting a larger number of rays, thus slowing it even more.

 

For more details, like parameter definitions, see the Brute Force Settings page.

 

Irradiance Map

This approach is based on irradiance caching; the basic idea is to compute the indirect illumination only at some points in the scene, and interpolate for the rest of the points.

Advantages:

  • The irradiance map is very fast compared to direct computation, especially for scenes with large flat areas.
  • The noise inherent to direct computation is greatly reduced.
  • The irradiance map can be saved and reused to speed up calculations of different views for the same scene and of fly-through animations.
  • The irradiance map can also be used to accelerate direct diffuse lighting from area light sources.
  • The GI calculations can be distributed over multiple machines using Distributed Rendering (DR).

Disadvantages:

  • Some details in indirect lighting can be lost or blurred due to the interpolation.
  • If low settings are used, flickering may occur when rendering animations.
  • The irradiance map requires additional memory.
  • Indirect illumination with motion-blurred moving objects is not entirely correct and may lead to noise (although in most cases this is not noticeable).

 

For more details, like parameter definitions, see the Irradiance Map page.

 

Photon Map

This approach is based on tracing particles starting from the light sources and bouncing around the scene. This is useful for interior or semi-interior scenes with lots of lights or small windows. The photon map usually does not produce good enough results to be used directly; however, it can be used as a rough approximation to the lighting in the scene to speed up the calculation of GI through direct computation or irradiance map.

Advantages:

  • The photon map can produce a rough approximation of the lighting in the scene very quickly.
  • The photon map can be saved and reused to speed up calculation of different views for the same scene and of fly-through animations.
  • The photon map is view-independent.

Disadvantages:

  • The photon map usually is not suitable for direct visualization.
  • Requires additional memory.
  • In V-Ray's implementation, illumination involving motion-blurred moving objects is not entirely correct (although this is not a problem in most cases).
  • The photon map needs actual lights in order to work; it cannot be used to produce indirect illumination caused by environment lights (skylight).
  • The GI calculations cannot be distributed over multiple machines using Distributed Rendering (DR).

   

For more details, like parameter definitions, see the Photon Map page.


Light Cache

Light caching is a technique for approximating the global illumination in a scene. It is very similar to photon mapping, but without many of its limitations. The light map is built by tracing many many eye paths from the camera. Each of the bounces in the path stores the illumination from the rest of the path into a 3d structure, very similar to the photon map. The light map is a universal GI solution that can be used for both interior or exterior scenes, either directly or as a secondary bounce approximation when used with the irradiance map or the brute force GI method.

Advantages:

  • The light cache is easy to set up. We only have the camera to trace rays from, as opposed to the photon map, which must process each light in the scene and usually requires separate setup for each light.
  • The light-caching approach works efficiently with any lights - including skylight, self-illuminated objects, non-physical lights, photometric lights etc. In contrast, the photon map is limited in the lighting effects it can reproduce - for example, the photon map cannot reproduce the illumination from skylight or from standard omni lights without inverse-square falloff.
  • The light cache produces correct results in corners and around small objects. The photon map, on the other hand, relies on tricky density estimation schemes, which often produce wrong results in these cases, either darkening or brightening those areas.
  • In many cases the light cache can be visualized directly for very fast and smooth previews of the lighting in the scene.

Disadvantages:

  • Like the irradiance map, the light cache is view-dependent and is generated for a particular position of the camera. However, it generates an approximation for indirectly visible parts of the scene as well - for example, one light cache can approximate completely the GI in a closed room.
  • Currently the light cache works only with V-Ray materials.
  • Like the photon map, the light cache is not adaptive. The irradiance is computed at a fixed resolution, which is determined by the user.
  • The light cache does not work very well with bump maps; use the irradiance map or brute force GI if you want to achieve better results with bump maps.
  • Lighting involving motion-blurred moving objects is not entirely correct, but is very smooth since the light cache blurs GI in time as well (as opposed to the irradiance map, where each sample is computed at a particular instant of time).
  • The GI calculations cannot be distributed over multiple machines using Distributed Rendering (DR).

 

For more details, like parameter definitions, see the Light Cache page.

 

Which method to use? That depends on the task at hand. The Examples below can help you in choosing a suitable method for your scene.

 

Primary and Secondary Bounces


The indirect illumination controls in V-Ray are divided into two large sections: controls concerning primary diffuse bounces and controls concerning secondary diffuse bounces. A primary diffuse bounce occurs when a shaded point is directly visible by the camera, or through specular reflective or refractive surfaces. A secondary bounce occurs when a shaded point is used in GI calculations.

 


 

Example: Comparisons of Different GI Methods


Here is a scene rendered with different GI algorithms in V-Ray. Combining the different GI engines allows great flexibility in balancing time versus quality of the final image.

 


Brute force GI
Brute Force Depth: 4
The image is darker because only 4 light bounces are computed. Notice the grain and the long render time.

 Render time: 13m 28.3s

 


Irradiance map + brute force GI
Brute Force Depth: 4
The image is darker because only 4 light bounces are computed. The grain is gone, although the GI is a little blurry.

 Render time: 16m 0.7s

 


Light cache only
(Store direct light for the light map is on)
Very fast, but shadows are blurry

Render time: 2m 23.1s

 


Light cache and direct lighting
(Store direct light is off)

Render time: 3m 14.5s

 


Brute force GI + light cache
There is some grain in the GI but is a lot faster than brute force GI alone.

Render time: 5m 52s

 


Irradiance map + light cache
probably the best quality/speed ratio.

Render time: 14m 37.0s

 


Photon map only.
Notice the caustics from the glass sphere, as well as the dark corners.

Render time: 2m 3.0s

 


Photon map and direct lighting.

Render time: 1m 25.7s

 


Photon map with precomputed irradiance only.
Splotchy, but faster than a raw photon map.

Render time: 1m 54.3s

 


Irradiance map + photon map.
Notice the dark corners and incorrect shading.

Render time: 8m 39.7s

 

Irradiance map + photon map
With retracing of corners (Convex Hull estimate).
Corners are better although still a little dark.

Render time: 5m 20.0s

 


Irradiance map + photon map
With precomputed irradiance and corner retracing.

Render time: 1m 55.0s

 

 


Irradiance map + light cache
GI caustics enabled.
Notice the slowdown due to the caustics.

Render time: 4m 40.3s

 


 

Notes