With our new caustics solver, absolutely stunning caustic images can be rendered in basically just a few clicks. There is no need to adjust parameters and settings or "try your luck" with the old experimental engines as done before. The new caustics solver is easy to work with, supports reflective and refractive caustics, is fast to render, and will take your images to the next level of photo-realism.
Corona caustics solver supports the following features:
Reflective and refractive caustics (glass, water, highly reflective metals, etc)
Dispersion in refractive materials (useful for diamonds, crystals, etc)
Motion blur (the caustics effect will motion-blur correctly)
Separate caustics multi-pass for post-processing, with the possibility to split into diffuse, reflection, refraction, and GI components
Caustics work with both the UHD Cache and Path Tracing
- Caustics from each light source will also be correctly adjusted by LightMix
- Caustics can be disable for specific lights sources and environment light (HDRI or Corona Sky)
- Objects can be excluded from receiving caustics
There are, however, also currently some limitations:
- Caustics may render slower/differently when using render regions (this will be improved).
Caustics inside volumes are still calculated the old way and are not accelerated by the new solver.
Refractive caustics still require having caustics enabled in the material. Reflective caustics do not.
Only Corona Lights will produce caustics (standard Cinema 4D lights are not supported).
- The new caustics use a Markov Chain Monte Carlo algorithm, which means each frame in an animation (or even rendering the same frame twice) will have a different pattern in the noise. To avoid flickering in animations, you will have to render a significant number of passes to ensure the solution has converged.
Setting up Caustics
As mentioned, working with caustics is extremely easy. In the Corona render settings under the performance tab, ensure that you have 'Enabled' activated. By default, "Caustics only in caustics pass" is enabled; this means that you can render just the caustics to its own separate render pass and be composited later in third-party software such as Photoshop. If you want the caustics to show up just in the beauty pass, you must uncheck "Caustics only in caustics pass".
It is also possible to tell the caustics solver what to cast caustics onto. This can be done using the ''Include/Exclude'' drop-down menu under the caustics settings. There, you will find 2 options, ''Apply caustics only on these objects'' and ''Don't apply caustics on these objects''. In the example below, only the ground should receive caustics. By dragging in the ground plane into the ''Include/Exclude'' box and setting it to ''Apply caustics only on these objects'', then, any other object that is not included here will be excluded from receiving caustics. And in this case, it's the red cube. Do note though that objects will still receive reflections as seen on top of the cube below.
Examples of using the caustics excludes option:
The default rendering. No excludes used. All glass spheres are casting caustics on all scene objects:
Ground object excluded from receiving caustics - note that the caustics from the bottom-most glass sphere are not visible on the ground any more:
White cube object excluded from receiving caustics - note that the caustics from the glass sphere in the center of the image are not visible on the white cube any more:
In the below example we are rendering a bathtub full of water. There are many reflective materials in the scene, including wall tiles, which results in calculating caustics for almost the whole scene. Additionally, both the refractive and the reflective caustics are visible (at the bottom of the bathtub and on the wall).
Render time: 5 minutes
Caustics visible on the wall, on the bottom of the bathtub, some caustics causing fireflies in the shadows in the corner.
To get better rendering performance, get rid of unwanted fireflies, and remove reflective caustics from the wall (if we want to), we can exclude all scene objects from caustics calculations, and only include the bathtub object so that we see refractive caustics generated by the water:
Render time: 5 minutes
Caustics are visible in the bathtub only, less fireflies, better overall image quality.
Note: some very faint reflective or refractive caustics may still appear even if an object is excluded from receiving caustics. This is because the excludes option disables receiving caustics generated by the fast caustics solver. Corona's default path tracing solver will be still used for simulating lighting in the whole scene anyway. Caustics generated with the default path tracing solver are much weaker, because they are clamped according to the Max Sample Intensity value.
If you are working with transparent materials such as glass or water, you must also enable 'Caustic (slow)' in the material's refraction settings.
Highly reflective metals do not require to enable 'Caustics (slow)' as done for refractive materials. Instead, it is recommended to increase the Fresnel IOR to a value of 10 or greater if using Corona's Legacy material or if using Corona's Physical material, this can be controlled by toggling between the ''Metalness and Non-Metalness'' under the ''General'' settings as pictured below.
Adding a caustics pass
A new caustics pass has been added to Corona's Multi-pass list. This allows you to create a separate render pass just for the caustics. This can be extremely handy if you want to have more control over the strength of the caustics when it comes to compositing. By default, "Caustics only in caustic pass" is enabled. If you only want caustics in your beauty pass, you must uncheck this setting. Caustics generated from your environment can also be disabled in the render settings. This is useful to keep render times from any unwanted caustics. The caustics Multi-pass can also allow you to fine-tune how the caustics will be rendered in your scene with additional options added such as:
Beauty pass: All ''include'' passes displayed in one image:
Include Direct: This contains caustics that are directly visible from the camera:
Include Reflected: This includes all caustics that are visible from the camera through a series of specular reflections/refractions, where the first interaction (first bounce after the camera) is reflection:
Include Refracted: Same as Reflected, but the first interaction is refraction:
Include GI: Includes caustics that are not in the above 3 categories (e.g. caustics visible from the camera through diffuse reflection):
Unchecking this activates caustics in the beauty pass.
Caustics generated from your environment can also be disabled for any unwanted caustics.
I can't see caustics!
Ensure that your glass material has the "Caustics (slow)" option enabled under refraction properties and that you are using Corona lights instead of standard Cinema 4D lights.
I still can't see caustics in my render!
Unless you use the Multi-pass for Caustics, please ensure that "Caustics only in caustics pass" is unchecked.
My caustics are too dark!
The caustics solver calculates physically accurate caustics, so the intensity of the light will directly affect the intensity of the caustics effect.
My caustics progressively disappear, there are black spots visible on my rendered caustics!
In rare cases, caustics might start disappearing while the rendering progresses, or black spots might start emerging along with your rendered caustics. In cases like these, it would be prudent for Caustics Adaptivity to be disabled. Caustics Adaptivity allows for the caustic solver to not calculate very weak caustics in order to save computational resources.
This option should only be disabled if the aforementioned issues are present. To disable it, Navigate to Corona's render settings> ''Performance Settings''> ''Fast Caustics Solver'' and disable "Enable caustics adaptivity".
Note: By default, this option is enabled.
My caustics look strange with AI-based denoisers (Intel, Nvidia)
Unfortunately, the AI-based denoisers need to be trained to optimally denoise caustics, and since the caustics solver in Corona is very new, there has not been enough time to train the denoisers.
Denoising quality of the AI-based denoisers will improve in the future as we work with both Intel and Nvidia on training their respective AI denoisers.
The Corona high-quality denoiser works with caustics perfectly fine.
Are there some other tips and tricks on rendering caustics?
Do not enable caustics “just for the heck of it”. Rendering with caustics enabled is still slower than rendering without them and unless it’s absolutely necessary, keep caustics to the minimum.
Enable dispersion for highly refractive materials to add realism (e.g., diamonds). Beware, this will slow the rendering further, more than just having caustics enabled.
Avoid using atmospheric effects like fog with caustics. Even though it is supported, it has not yet been optimized and may cause slowdowns and excessive noise in the current implementation since the old method of calculating in-volume caustics is still being used.
Corona lights can also be controlled by the click of a switch. If you do not want a certain light to generate caustics, you can uncheck "Generate caustics" in the light's settings.