#macnihilist - Thanks, to the matter of hybrid renderers - I'm preparing some article (and maybe if I will continue in it, it would grow to article serie) on them + sample applications + maybe even some sample code, although it sometimes get really tricky and brain heavy (one must know something about rasterization and raytracing + lots about multi pass rendering (because you can say that one pass is ray tracing and another rasterization (which can be mutlipass too).
What parts of your technique run on the CPU (if any)?
Mainly computing VPLs, although reflections are done through ray tracing too (although it got a little tricky, because there was just too much VPLs for ray tracing), and ambient occlusion (which was quite a challenge to get it real time, but with 1/4 screen size it wasn't THAT hard)
The solution seems very smooth, are you using some sort of importance/interleaved sampling or just many VPLs?
Nope, I use even less VPLs than most people that tried this GI solution. Smoothness is mainly due to tricky ambient occlusion solution (through ray tracing (without stochaistic sampling) + then smoothed/blurred on GPU while combining it)
The objects in the video are moving quite slowly, is this because you are using some incremental approach to update VPLs?
The solution is brute-force method (resampling VPLs every time light moves - in video light is static, but as I said I hope to think of and make some small scene (KD-tree friendly one) where I would be able to fully test this approach).
Thanks, I think I did some wrong normal calculation at the edge of sphere - strange think it happens just for reflections (so probably I made a glitch while making fast reflection code ... voila, I think I've got another glitch from Cornell box), anyway thanks for giving info about it (I missed it, really I was too focused on GI and my eyes haven't seen wrong reflection). Although there can be seen reflection (but strange, as like the sphere was scaled in Z (depth) direction).
Thanks for the link on paper, I haven't read it (but it's one of the first links in my TODO list) - I started on some photon mapping in last several hours (I took photon map generation code from my non-real-time ray tracer, so it was quite simple ... okay I made few glitches while adapting it a little for real time performance, but that was as always an accident), though final gather was quite a big challange (still unsolved) - my non real time approach on this is just too slow, so I decided to try something else - read more here:
http://www.otte.cz/devblog/vilemotte/index.php?entry=entry090805-190644, although I will definitely look into the paper, maybe it has some tips about final gathering of them (some more clever way that I made up in few hours ... but I may think of something much better in some time too). So again, thanks for the link.
Anyway here are few glitches on my GI solution instant-radiosity-like one. http://www.otte.cz/devblog/vilemotte/index.php?entry=entry090805-014733