I'm currently working on a deferred shading renderer, everything is progressing well and the architecture is clean : decoupling geometry from lighting is really a big win IMO. But some effects really simple in a forward renderer become suddenly a lot more challenging : antialiasing and transparency for example. Of course I was aware of that but one thing I totally overlooked were reflections. You know the saying ? "If you can't make it good, make it shiny" in my experience it's true : reflexions add a lot to the perceived quality of a scene by an "average" user.
I've used two techniques in my previous (forward) renderers : one using the stencil buffer and a mirror matrix, really simple and the effect looks good but it's only OK for a perfect (mirror-like) reflection. The other one with projective texturing which allows things like perturbating the reflexion along the per-pixel normal and blurring it.
But in a deferred renderer I can't see how to implement simple planar reflections without ending with a solution prohibitively expensive. I've tried to look for some papers, I'm sure there may exist some hacks that should do the trick even if it's not exactly correct but I haven't found anything interesting.
I was wondering how you were doing it for things like water or a shiny ground and if you could point me to some papers on the subject.
Thanks !
I've used two techniques in my previous (forward) renderers : one using the stencil buffer and a mirror matrix, really simple and the effect looks good but it's only OK for a perfect (mirror-like) reflection. The other one with projective texturing which allows things like perturbating the reflexion along the per-pixel normal and blurring it.
But in a deferred renderer I can't see how to implement simple planar reflections without ending with a solution prohibitively expensive. I've tried to look for some papers, I'm sure there may exist some hacks that should do the trick even if it's not exactly correct but I haven't found anything interesting.
I was wondering how you were doing it for things like water or a shiny ground and if you could point me to some papers on the subject.
Thanks !