Light cache
Light caching (sometimes also called light mapping) is a technique for approximating the global illumination in a scene. This method was developed originally by Chaos Group specifically for the VRAYforC4D renderer. It is very similar to Photon mapping, but without many of its limitations.
The light cache 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. On the other hand, in a sense, it is the exact opposite of the Photon map, which traces paths from the lights, and stores the accumulated energy from the beginning of the path into the Photon map.
Although very simple, the light-caching approach has many advantages over the Photon map:
- It is easier 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.
Even with these advantages, light caching is similar in speed to the Photon map and can produce approximations to the global lighting in a scene very quickly. In addition, the light cache can be used successfully for adding GI effects to animations.
Of course, the light cache has some limitations:
- Like the Irradiance map, it is view-dependent and is generated for a particular position of the camera.
- Like the Photon map, the light cache is not adaptive. The illumination is computed at a fixed resolution, which is determined by the user.

Calculation parameters
These parameters affect the calculation phase of the light cache; they do not affect the final rendering.
- Screen - the units are fractions of the final image (a value of 1.0 means the samples will be as large as the whole image). Samples that are closer to the camera will be smaller, and samples that are far away will be larger. Note that the units do not depend on the image resolution. This value is best suited for stills or animations where the light cache needs to be computed at each frame.
- World - the sizes are fixed in world units everywhere. This can affect the quality of the samples - samples that are close to the camera will be sampled more often and will apear smoother, while samples that are far away will be noisier. This value might work better for fly-through animations, since it will force constant sample density everywhere.
Reconstruction parameters
These parameters control how the light cache is used in the final rendering, after is has been calculated.Pre-filter - when this is turned on, the samples in the light cache are filtered before rendering. Note that this is different from the normal light cache filtering (see below) which happens during rendering. Prefiltering is performed by examining each sample in turn, and modifying it so that it represents the average of the given number of nearby samples.
- None - no filtering is performed. The nearest sample to the shaded point is taken as the irradiance value. This is the fastest option, but it may produce artifacts near corners, if the light cache is noisy. You can use pre-filtering (see above) to decrease that noise. This option works best if the light cache is used for secondary bounces only or for testing purposes.
- Nearest - this filter looks up the nearest samples to the shading point and averages their value. This filter is not suitable for direct visualization of the light cache, but is useful if you use the light cache for secondary bounces. A property of this filter is that is adapts to the sample density of the light cache and is computed for a nearly constant time.
- Fixed - this filter looks up and averages all samples from the light cache that fall within a certain distance from the shaded point. This filter produces smooth results and is suitable for direct visualization of the light cache (when it is used as the primary GI engine).
Mode
- Progressive path tracing - in this mode, the light cache algorithm is used to sample the final image progressively. For a discussion of this mode see the tutorial.
- Single frame - this will compute a new light cache for each frame of an animation.
- Fly-through - this will compute a light cache for an entire fly-through animation, assuming that the camera position/orientation is the only thing that changes. The movement of the camera in the active time segment only is taken in consideration. Note that it may be better to use World Scale for fly-through animations. The light cache is computed only at the first rendered frame and is reused without changes for subsequent frames.
- From file - in this mode the light cache is loaded from a file. The light cache file does not include the prefiltering of the light cache; prefiltering is performed after the light cache is loaded, so that you can adjust it without the need to recompute the light cache.
- Load file - specifies the file name to load the light cache from, when the Mode is set to From file.
On render end
This group of controls determine what happens with the light cache after rendering is complete.
Notes
- Do not set the Adaptive amount in the DMC sampler rollup to 0.0 when using the light cache, as this will cause excessive render times.
- Do not apply perfectly white or very close to white materials to a majority of the objects in the scene, as this will cause excessive render times. This is because the amount of reflected light in the scene will decrease very gradually and the light cache will have to trace longer paths. Also avoid materials that have one of their RGB components set to maximum (255) or above.
- If you want to use the light cache for animation, you should choose a large enough value for the Filter size in order to remove the flickering in the GI.
- There is no difference between light caches computed for primary bounces (direct visualization) and for secondary bounces. You can safely use light caches computed in one of these modes for the other.
- Similar to the Photon map, you can get "light leaks" with the light cache around very thin surfaces with substantially different illumination on both sides. Sometimes it may be possible to reduce this effect by decreasing the Sample size and/or the filtering.