|
|
Hi,
A while ago somebody came up with a novel idea for rendering blurred
reflections in POV-Ray. It used an averaged texture_map where each entry
was reflective and had a jittered surface normal. Unfortunately the
setup rendered very slowly when multiple inter-reflecting surfaces were
present.
A speed enhancement can be used to cut the render time down
significantly, with an arguably acceptable loss of accuracy. Under this
setup, two instances of the same object are used. One copy is visible,
uses blurred reflection, and has a no_reflection modifier applied to it.
The other copy uses non-blurred reflection, but with a no_image modifier
applied.
The image to the left uses a standard technique for creating blurred
reflections. The object has a very small bumps normal. The scene uses
focal blur with 1000 blur_samples and 0 variance. It took 3 minutes, 14
seconds to render.
The image to the right uses the averaged texture_map technique with the
aforementioned speed enhancement. The texture uses 256 averaged samples.
It took only 34 seconds to render with medium AA settings.
They were both rendered on three cores and without any light_sources.
I didn't make a full render of the original averaged texture_map
technique (it's way too slow), but the results would be comparable to
using the focal blur method, though with different artifacts.
Here's the basic setup:
#declare Obj =
union{
box{-1,1 scale<10,1,10> translate -y*5}
sphere{0,4}
}
#declare Texture_Metallic =
texture{
finish{
reflection .9
}
}
#declare Texture_Blurred_Metallic =
texture{
average
texture_map{
#declare R=seed(1001);
#declare V=0;
#while(V<256)
[1
Texture_Metallic
normal{
bumps .2
scale 4
translate<rand(R),rand(R),rand(R)>*100
}
]
#declare V=V+1;
#end
}
}
object{Obj
texture{ Texture_Blurred_Metallic }
no_reflection
}
object{Obj
texture{Texture_Metallic}
no_image
}
This would probably be most useful for things like dull painted
surfaces, wooden floors, plastic, etc.
~Sam
Post a reply to this message
Attachments:
Download 'rblur.png' (141 KB)
Preview of image 'rblur.png'
|
|