Why the irradiance cache is disabled in rcontrib (rfluxmtx)?

These are good questions, and I encourage you to conduct some experiments to test your ideas on optimizing the 5-phase method. I do not know who may have done similar work, but the Radiance workshop is an excellent place to inquire. This year’s workshop is being held in Innsbruck, Austria, in August.

Regarding why rcontrib does not use the irradiance cache, it is due to accounting issues. The nature of rcontrib requires knowing exactly how much each ray sample contributes to the final value. This is impossible to do if an intermediate value is cached and shared between samples. Effectively, you would need to store the entire ray tree associated with each cached value, which would quickly consume all the available memory.

Cheers,
-Greg

1 Like