This page provides information on the Caustics rollout.
Overview
V-Ray supports the rendering of caustics effects by using one of the following techniques: photon mapping or progressive.
The new Progressive caustics solver uses advanced sampling techniques, and is able to trace as many photons as required without suffering the memory constraints of traditional Photon Mapping techniques.
It is loosely based on two papers: one on Progressive Photon Mapping from Knaus and Zwicker, and another on Metropolis-guided caustics tracing from Šik and Krivánek.
The other method, New Map (Photon Mapping), is a two-pass technique.
The first pass consists of shooting light particles (photons) from the light sources in the scene, tracing them as they bounce around the scene, and recording the places where the photons hit the object surfaces.
The second pass is the final rendering, which is when the caustics are calculated by using density estimation techniques on the photon hits stored during the first pass.
Parameters
Caustics – Turns rendering of caustics on and off.
Mode – Specifies whether caustics should be calculated using a traditional New map or the new Progressive1 algorithm. Alternatively, you can use a pre-calculated map From File.
Progressive
The Progressive method doesn't need most of the controls used for traditional Photon Mapping (New Map), so the controls are grayed out. Only the Search Dist control in the render settings and the Caustics Multiplier in V-Ray lights, have an effect on the result.
Search Distance Units – Determines whether the Search Distance is calculated in pixels, or in world units.
Search Distance – Specifies the initial photon lookup radius.
Tips when working with progressive caustics:
Required:
Affect Shadows should be off in refractive materials if they are to generate caustics.
The Affect Channels option should be set to Affect all Channels in refractive materials to ensure the Caustics render element contains also the ones fallen behind refraction.
Not doing so leaves photons fallen behind refractive surfaces inside the Refraction RE, but not inside the Caustics one.If present, the VRaySun's photon emit radius should be set to a value large enough to encompass the relevant parts in the scene.
Optional:
It is strongly recommended to set time limit when rendering with Progressive Caustics, rather than relying on Noise Limit value only.
Lower the Min. Shading Rate.
Photons are cast for each camera ray, not for the secondary ones. The more camera rays are cast, the more photon passes are achieved.
A value of 3 is fine if rendering with the rest of the scene, but a value of 1 could be used if rendering specific caustic passes (for example, a caustics pass scene prepared with the purpose of maximizing caustics' calculation speeds).
Set a higher min AA subdivs value.
A higher min AA subdivs value (16, 24, even higher.) means there will be a longer phase of fixed sampling with no adaptation to the photon casting, so the screen coverage of samples will remain more consistent, allowing for quicker filling of, for example, big flat areas or long thin lines.
The later phase of rendering, with adaptation, will then just bring noise down to ensure Noise Threshold is respected.
Managing Expectations:
The progressive caustic solver is fire and forget.
This means that it can be turned on in any scene, and expected to trace photons on any specular or refractive surface.
It doesn't, however, mean that doing so will result in an image converged to perfection within a short time.
The approach, novel as it is, is still photon-map based, and judgement should be used to ensure quick, noise and frustration-free results.
It renders with the beauty.
The solver does indeed render happily alongside a beauty pass, storing caustics in the appropriate Render Element (see requirements tips above!), but that may not be the best solution as far as performance is concerned.
It's suggested to consider preparing a dedicated caustic rendering pass if the photon tracing is particularly extensive, and/or if sequences are to be rendered.
That way, it will be possible to optimize the caustics calculation separately from the requirements of the beauty pass.
Example: The Search Distance Parameter
For this example, the Light Caustics Multiplier is 80 and the rest of the parameters are at their default values. The light used in the scene is VRaySun. The Caustics method is set to Progressive.
From File Parameters
Caustics Photon Map File – File name with the caustics photon map to be loaded when Mode is set to From file. Click the Browse button to the right to specify the file name.
Auto-Save – Saves to file the photon map which is currently in memory. Note that the Don't delete option in the On render end group must be enabled in order to save the photon map in memory. Otherwise, V-Ray will automatically delete the photon map at the end of the rendering process.
Auto-Save File – Specifies where the file is written.
Progressive Caustics Advantages
they require nearly no setup;
each cast photon is more useful than those in traditional Photon Mapping (New Map);
the number of photons castable is only limited by time, not memory;
they can resolve tiny caustic details, compared to the scene size;
they can resolve caustic details also when a camera is very zoomed in on them;
statistics about the photon tracing can be found in the VFB stats panel;
Progressive Caustics Limitations
they require the progressive image sampler;
the image sampler often requires Min. subdivs values much higher than 1;
it's non-deterministic, meaning that there could be somewhat unpredictable render times, and also tiny differences in the visual results when rendering the same frame twice;
currently doesn't work with distributed rendering;
currently not supported by the GPU engine;
Depending on the scene, the performance might not scale linearly with the number of threads/cores, resulting in inefficient CPU utilization.