Page 2 of 2

Re: Reflect / Brigade2

Posted: Fri Feb 03, 2012 4:47 pm
by toxie
awesomeness!

Re: Reflect / Brigade2

Posted: Sat Feb 04, 2012 9:56 am
by jbikker
toxie wrote:awesomeness!


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

Re: Reflect / Brigade2

Posted: Thu Mar 08, 2012 3:28 pm
by vinkemp
I'm sure the new 680GTX that's rumoured to be coming out on 23rd March will be good to handle Reflect! :-)

Re: Reflect / Brigade2

Posted: Sun Dec 29, 2013 10:31 pm
by lion
reflect now de-noised :D
http://www.youtube.com/watch?v=oNSIRTQAzA4

full 1024x600 resolution, 30+fps on single gtx680

Re: Reflect / Brigade2

Posted: Mon Dec 30, 2013 7:54 pm
by jbikker
Wait wut? You replaced Brigade 1 with your own ray tracing engine? Awesome!

Re: Reflect / Brigade2

Posted: Mon Dec 30, 2013 9:07 pm
by lion
jbikker, all thanks to you, Dade, lux render, arauna and brigade ;)

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:

Image

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 :lol: Despite the fact that you can easily do it by yourself ;) .
PS: I can do opencl porting too :)

Re: Reflect / Brigade2

Posted: Tue Dec 31, 2013 8:27 am
by lion
Here visual explanation of smart blur algorithm:

Image

Of course it's not so advanced as classic renders sobol or metropolis samplers, but it's simple and fast, so we can extend blur window and achieve better quality on low spp and high speed.

Re: Reflect / Brigade2

Posted: Thu Jan 02, 2014 9:14 pm
by lion
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 =)