I have an idea regarding accelerating indoor or many bounces scenes.
We usually have bigger surfaces that contribute to bounces, now, couldnt we tell cycles this:
- Analyze the scene for the biggest normal surfaces that would bounce light heavily around the scene at ONLY 2 bounces and a quarter of resolution. Basically similarly to an irradiance cache that gets blurred and extremely smoothed out but not only for the camera, but for the entire scene.
- Store that info as a rough GI emissive cache.
- When a ray hits now, calculate the coefficient with that stored value in mind, while at the same time, that cache now makes the whole scene emissive to some degree, emitting more rays from primary surfaces!
- Now all rays should be nearly noise free even after many bounces in the most remote corners.
The point is that if that cache makes primary hit surfaces emissive, the scene would converge insanely fast. Of course that emission would have to store the normals of the emission rays itself too. A mirror will have paralell rays, while the white surface of a wall a random one. That info has to flow into the coefficient value. This is different from other irradiance cache and radiosity stuff, because it would take all materials into account in the prepass, regarding their normals and roughnesses.