Thanks. The game won 'Best Art Award' yesterday at our Game Release Party. It's a small party, but still.A video without the copyrighted music is now also available on youtube: http://youtu.be/GkNlec-_FN8

My contribution quite small. I'm sure such denoising can be easily integrated in any path trace like brigade\arauna2.Idea is very simple: we separate diffuse color and light power (which is noisy). And we have such light picture:

Then we filter light picture and combine with diffuse color back.What you see in video is simple blur, but I'm experimenting with more smart blur algorithm. In simple words: we build pyramid of re-sized images and use it to direct blur in light points cloud location, also take into account near pixels to decide how to fade current pixel.This must reduce edge effects, but even simple blur I like much more than unfiltered image.Also here some tweaks for use path trace in game engine:1. Do not follow standard renders approach to make image better when camera not moved, you have fixed amount of passes and that's it.2. Do not change initial random seed of pixels for next frame, keep initial seed for pixel forever, but use different seeds for different pixels of one frame. This dramatically reduces annoying noise-flickering with low passes number.3. Also I recommend to move everything to opencl\glsl, because game must support not only nvidia.4. We break DOF by rule 2, my experiments shows that we do not have enough time for appropriate path trace DOF with single GPU, other techniques must be used to achieve better quality. But if we want - we must use different random seeds per pixel for ray generation in exception to rule 2.

I can contribute such changes to brigade if you want Despite the fact that you can easily do it by yourself .PS: I can do opencl porting too

Last edited by lion on Fri Jan 03, 2014 9:39 am, edited 2 times in total.

Also about diffuse color\light separation:On first hit always do all diffuse\reflection\refraction paths if material have it, do not take it by random, no matter on spp (otherwise we need to denoise primary diffuse picture too). Only primary diffuse hits (from each required path) goes to diffuse picture, all other ways, which include random rays directions, goes to light picture.Of course we blur caustic effects this way, but we can blur less in such places. And again - I like filtered image much more than such noise anyway =)