![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Blurred reflection can be extremely slow. For example, the following
scene will take _FOREVER_ to calculate:
#version unofficial MegaPov 0.4;
global_settings { max_trace_level 6 }
camera { location <-2,1,-4> look_at 0 angle 60 }
light_source { <3,4.9,-4> 1 }
box
{ -5,5 inverse
pigment { rgb <.3,.5,1> }
finish
{ specular .5
reflection 1 reflection_blur .04 reflection_samples 20
}
}
It shouldn't be strange, however, since povray is calculating an amazing
amount of 3200001 rays per pixel!
Lowering max_trace_level will help (for example with max_trace_level set
to 3 it will calculate only 401 rays per pixel). However this is not a good
solution if there are transparent objects in the scene.
There should be a max_trace_level that could be applied to the blurred
reflection. After it's reached, only regular reflection would be used
(I think that the blurred refraction patch uses this method). Also a
adc_bailout value for blurred reflection could be good.
A more advanced method could be something like: The first reflection is
calculated with all the specified 20 samples, the second reflection could
use only 10 samples, the third 5 samples, and so on. The decrease factor
could be user-specified.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <38980693@news.povray.org>, Nieminen Juha
<war### [at] punarastas cs tut fi> wrote:
> There should be a max_trace_level that could be applied to the blurred
> reflection. After it's reached, only regular reflection would be used
> (I think that the blurred refraction patch uses this method). Also a
> adc_bailout value for blurred reflection could be good.
Both of these are already implemented. They are reflection_blur_max and
reflection_blur_max_adc, in global_settings. My transparency patch has
similar controls.
> A more advanced method could be something like: The first reflection is
> calculated with all the specified 20 samples, the second reflection could
> use only 10 samples, the third 5 samples, and so on. The decrease factor
> could be user-specified.
I have been thinking about this, something like a depth_blur_scale or
something. I don't think it would be terribly useful, though, and
setting the max blur level to 2 or 3 is usually enough.
--
Chris Huff
e-mail: chr### [at] yahoo com
Web page: http://chrishuff.dhs.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chris Huff <chr### [at] yahoo com> wrote:
: Both of these are already implemented. They are reflection_blur_max and
: reflection_blur_max_adc, in global_settings. My transparency patch has
: similar controls.
I didn't see it in the documentation.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Actually, this was in the previous doc on the Nathan site (superpatch
doc) BUT not at the same place that doc on blurred reflection:
reflection_blur was in texture part of the doc and reflection_blur_max
was in the global settings part. So I think that Nathan didn't see this
or forget to add it. This is a hard and ennoying job to do doc :)! So
I don' t blame Nathan :)!
Fabian.
Nieminen Juha wrote:
>
> Chris Huff <chr### [at] yahoo com> wrote:
> : Both of these are already implemented. They are reflection_blur_max and
> : reflection_blur_max_adc, in global_settings. My transparency patch has
> : similar controls.
>
> I didn't see it in the documentation.
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |