Fake glossy reflections with nodes.

Hi there,
When browsing the forums i found that quite a lot of people stated that BI is not really up to date with its rendering capabilities, especially when it comes to glossy reflections.
They take a lot of samples and rendertime to look decent.
So i tried to find a way to efficiently fake glossy reflections with compositing.
And finally after a lot of testing and learning about nodes i came up with presentable results.

Here are two scenes rendered with raytraced glossy reflections:


58s rendertime

55s rendertime

and the same scenes with fake glossy reflections:


25s rendertime

35s rendertime

It basically works like this:
A node material outputs the distance values to the camera through the reflections, the z values of the reflecting object are then subtracted from those values so that the closer the distance between the reflection and the reflecting object the smaler the value.
The resulting values are then fed into the blur nodes causing distant objects to be more blurred.
the resulting blured reflections are then displaced by the reflecting objects normals and then added to to the reflecting object.
I hope that makes sense :slight_smile:
heres a screen of the setup:



and the .blend
http://www.mediafire.com/download.php?788558ul643311h

i’m pretty pleased with the results for now but there is still a lot room for improvement, so any feedback is very welcome.
Especially the speed could be improved, if you have any thoughts please share them.

small update:
i tried to make use of a bumpmapped floor, but because of some issues with the bumpmaping(see the thread here) i had to turn on AA which increases the rendertime to completly useless 7 min 30 sec with AO on.


it looks nice tho.

Mr_Magoo did you try turning NOR up? Also click rgb to greyscale. I posted my thoughts on your other thread.

and another update.
i fixed some issues with the z values and got rid of the normals problem
test scene with updated setup:


rendertime: 1.30 min

and the whole technique put to use in a small project:


rendertime 1.22 min

both rendered with AO at 1920x1080

Edit:
i thought i’d demonstrate why my method is better than simply bluring the reflection pass and adding it back on.



the distance regulated blur looks a lot nicer even though there is still a lot to fix

cheers

Do you have a more recent BLEND file?

I am running r31068 and I get nothing when I open it.

I’m currently using r31315

heres the lastest .blend:

cheers