How to use UHD Cache for animations and stills?
Corona QuickTip: Saving the UHD Cache for animations
Traditionally, users had to choose to either use unbiased algorithms without any caching and wait long time for all renders, or use biased caching algorithms, and deal with splotches, missing shadows, and sensitive input parameters. Corona merges the best of both worlds. Its cached solution, called “UHD Cache”, is significantly faster than plain path tracing, but does not suffer from artifacts, missing contact shadows, or complicated UI controls.
What is UHD Cache?
UHD Cache is a global illumination solver. Corona offers two kinds of GI solvers which can work together:
1. Path Tracing - unbiased solution. It is useful mainly in exterior scenes, where UHD Cache would require longer precomputation times and wouldn't be able to improve rendering speed.
2. UHD Cache - slightly biased, cached solution, which speeds up rendering - should be used (but doesn't have to) as the secondary GI solver in scenes where GI is dominant (e.g. interiors, scenes with many light bounces). In such scenarios it greatly improves render speed at the cost of very subtle bias.
UHD Cache may be used for both still images and animations, even with moving geometry or light sources. However, it is usually required to use UHD Cache settings adequate to the current scenario.
How to use different precomputation modes?
1. Calculate from scratch - using this mode, the cache will be calculated independently for each frame, and either discarded after the rendering stops, or saved, depending on the "After render" setting. The saved cache file can then be re-used.
2. Load from file - this will load a previously saved cache file specified in the "Filename" field. No precomputation will be done. If the file is not found - a new one will be computed from scratch.
3. Try to load + append - this will first load a previously saved cache file specified in the "Filename" field and then the precomputation pass will run on top of it. The loaded and computed caches will then be merged. If the file to load is not found - the precomputation will begin anyway.
Which UHD Cache precomputation setting should I use?
For still images:
You should use the default settings. Generally, "splotches" or other kinds of artifacts should never appear when using the UHD Cache. If you encounter them, they should be considered a bug and reported to us along with the problematic scene.
1. Without moving objects or lights:
Always use "Animation (flicker-free)" preset. If you want to save the time required for precomputation of each frame, you can render UHD Cache for one frame from the middle of the animation and then re-use it for all the other frames. You can also use combination of "Try to Load + Append" and "Save to file" functions to render the cache incrementally. This should be done for several frames of the animation. For example for 400-frames animation, you can render every 50th frame to render the UHD Cache only for 8 frames.
2. With moving lights/objects:
Using the "Animation (flicker-free)" preset and calculating UHD Cache from scratch for each frame is the safest solution. However, you may try using the precomputed UHD Cache solution (see #1), as it may also perform well in some scenarios.
Q: How to render cache only, without rendering the actual image?
A: To emulate the "do not render final image" option, set "time limit" to 1 second in Render Settings > Corona > General Settings > Progressive rendering limits.
Q: How to create a cache file for an animation that will be rendered on a render farm?
A: Save the cache file in a location accessible for the render nodes using "calculate from scratch" + "After render: Save to file" option. Then use the "load from file" precomputation mode.
1. Image rendered with Path Tracing ("Full (multiple bounces)") as primary and UHD Cache as secondary solver.
Render time: 01:56 - notice the image quality in comparison to other examples, especially in the areas where GI is dominant
2. Image rendered with Path Tracing ("Full (multiple bounces)") as both primary and secondary solver.
Render time: 03:05
3. Image rendered with Path Tracing as primary solver only ("Single bounce").
Render time: 02:15
4. Image rendered with both primary and secondary solvers set to "None (direct only)".
Render time: 01:11