|
|
|
|
|
|
| |
| |
|
|
From: stbenge
Subject: A speed enhancement for blurred reflections (144KB PNG)
Date: 22 Jan 2011 16:59:30
Message: <4d3b5342@news.povray.org>
|
|
|
| |
| |
|
|
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'
|
|
| |
| |
|
|
From: Christian Froeschlin
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 22 Jan 2011 17:19:04
Message: <4d3b57d8$1@news.povray.org>
|
|
|
| |
| |
|
|
Neat. It's similar to max_trace_level for area lights
in MegaPOV. Maybe a general mechanism for reduced quality
settings in reflections would be nice for future versions.
Post a reply to this message
|
|
| |
| |
|
|
From: stbenge
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 22 Jan 2011 20:44:09
Message: <4d3b87e9@news.povray.org>
|
|
|
| |
| |
|
|
On 1/22/2011 2:18 PM, Christian Froeschlin wrote:
> Neat. It's similar to max_trace_level for area lights
> in MegaPOV. Maybe a general mechanism for reduced quality
> settings in reflections would be nice for future versions.
Especially if said future version natively supported blurred
reflection/refraction. I wouldn't mind a loss of accuracy for such a
feature (at least it would still be raytraced :) ).
Post a reply to this message
|
|
| |
| |
|
|
From: clipka
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 23 Jan 2011 07:52:10
Message: <4d3c247a$1@news.povray.org>
|
|
|
| |
| |
|
|
Am 22.01.2011 22:58, schrieb stbenge:
> 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.
I'd suggest a minor modification to this approach: For the no_image
version, do use the same normals pertubation as for the no_reflection
version, except that only a single layer is used.
The downside of your approach is of course that it won't work well with
a mix of both blurred and non-blurred surfaces in the same scene, e.g. a
dull brass figure in front of a mirror.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge <myu### [at] hotmailcom> wrote:
> 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.
That's a great idea and it works like a charm, but...
http://news.povray.org/povray.binaries.images/message/%3C4baab97a%241%40news.povray.org%3E/#%3C4baab97a%241%40news.povr
ay.org%3E
-Just shows you guys are both very sharp!
Regards,
Dave Blandston
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
stbenge <myu### [at] hotmailcom> wrote:
> 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.
Would there be a corresponding technique for speeding up blurred refractions?
Post a reply to this message
|
|
| |
| |
|
|
From: stbenge
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 23 Jan 2011 14:53:51
Message: <4d3c874f$1@news.povray.org>
|
|
|
| |
| |
|
|
On 1/23/2011 8:50 AM, Dave Blandston wrote:
> That's a great idea and it works like a charm, but...
>
>
http://news.povray.org/povray.binaries.images/message/%3C4baab97a%241%40news.povray.org%3E/#%3C4baab97a%241%40news.povr
> ay.org%3E
>
> -Just shows you guys are both very sharp!
>
> Regards,
> Dave Blandston
That figures! I do remember that thread, but I can't remember if had
read through all of it or not... Ideas often get lodged into my
subconsciousness, surfacing now and again giving me the impression that
they are original thoughts. At any rate, it's a good speed enhancement
that needed more exposure ;)
~Sam
Post a reply to this message
|
|
| |
| |
|
|
From: stbenge
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 23 Jan 2011 15:03:05
Message: <4d3c8979@news.povray.org>
|
|
|
| |
| |
|
|
On 1/23/2011 4:52 AM, clipka wrote:
> I'd suggest a minor modification to this approach: For the no_image
> version, do use the same normals pertubation as for the no_reflection
> version, except that only a single layer is used.
One layer, as in two total averaged copies of the texture?
> The downside of your approach is of course that it won't work well with
> a mix of both blurred and non-blurred surfaces in the same scene, e.g. a
> dull brass figure in front of a mirror.
The main problem is that the object possessing the blurred reflection
interacts with itself too much. Reflection groups would be the way to
go, but they would probably be difficult to set up (if they existed).
~Sam
Post a reply to this message
|
|
| |
| |
|
|
From: stbenge
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 23 Jan 2011 15:07:57
Message: <4d3c8a9d@news.povray.org>
|
|
|
| |
| |
|
|
On 1/23/2011 9:59 AM, Mr wrote:
>
> stbenge<myu### [at] hotmailcom> wrote:
> > 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.
>
> Would there be a corresponding technique for speeding up blurred refractions?
There would, if POV had a "no_refraction" modifier. The best (and
fastest) method for blurred refractions that I can think of is to bake
all your scene's textures to meshes (and/or use Rune's illusion.inc),
add a small surface normal to the refractive material and use high focal
blur settings.
~Sam
Post a reply to this message
|
|
| |
| |
|
|
From: Christian Froeschlin
Subject: Re: A speed enhancement for blurred reflections (144KB PNG)
Date: 23 Jan 2011 17:42:27
Message: <4d3caed3$1@news.povray.org>
|
|
|
| |
| |
|
|
stbenge wrote:
> There would, if POV had a "no_refraction" modifier.
Even then a scene might not benefit much, as a second
blurred refraction object would need to be positioned
such that it appears in the first blurred refraction
for this technique to help. Refraction tends to be
less annoyingly recursive than reflection ;)
BTW I just tried: if the refraction leads to total
internal reflection the no_reflection modifier will
take effect.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |