GI Cycles/Ambient Light Cache

Hello, this is my first post, I wanted to ask if anyone knows why an ambient light cache does not exist within cycles like luxcorerender or corona has? I ask this because for interior scenes it is a great improvement in the quality of light and by testing these caches in luxcore I do not consider that it increases the rendering time, rather it reduces the times and increases the quality. I leave you an example that in both engines was rendered in 60 seconds (the one with caustics is luxcore)


1 Like

Have you tried Path Guiding yet, that can help you with missing caustics and hard-to-sample areas? You can also use adaptive sampling to speed things up further.

Cycles is intended to be a render engine that does not require the user to go through a forest of resolution and cache controls. If you want resolution controls and tradeoffs, we have Eevee.

Lukas Stockner is working on another upgrade for Cycles sampling that is likely to be revealed sometime soon, so more optimizations are on the way.

2 Likes

Because it’s intended to be used for animation and not just still frames, even with other render engine that have caches method you’ll find yourself using brute force method to have more GI details and less flickering, it’s true that having that option could be useful but the BF don’t have unlimited dev time to put it on every rendering technics, they opted for other optimisation methods

1 Like

If you have a scene where the environment and lighting won’t have to change, I actually have a method to fake an irradiance cache in Cycles. I find that it can make an interior scene render twice as fast and also with half the noise.

Basically, I bake the lighting to 32-bit textures on the larger objects like the walls and ceiling, then use the light path node so the indirect diffuse rays see the baked image instead of the usual shaders.

The advantage of using a light bake indirectly is that the bake doesn’t even need a very good quality level, as you won’t actually see it.

Here are 2 equal-time renders, without and with the cache trick. This is a difficult scene that would be almost unreasonable to render, but the cache makes it doable.


Here is the exemple file. I have made a node group that can be reused easily, as long as you have a 32-bit “combined” bake of any material (image or vertex colors). It also has some extra features: a brute force distance to avoid artifacts in corners, an indirect intensity control and a bounce depth after which glossy rays also switch to the cache.
cache.blend (966.6 KB)

Here is a thread where I explain in greater detail.

4 Likes