This is really cool but reading the code it would appear to be a regular reverse pathtracer. I wonder why you decided to go that way as opposed to implementing a bidirectional pathtracer? It seemed to me like bidirectional pathtracing (BDPT) was the way to go today but perhaps I'm wrong and you obviously spent a good deal of time on this. Could you explain your thoughts on this?
I'll spend some time reading your multiple importance sampling implementation for sure. I never could get the right with useful performance.
I'll spend some time reading your multiple importance sampling implementation for sure. I never could get the right with useful performance.