|
![](/i/fill.gif) |
In article <3A0BE522.1DE8E5B0@free.fr>, Nicolas Calimet
<pov### [at] free fr> wrote:
> > As I understand it, area lights use an algorithm more like adaptive
> > antialiasing than focal blur.
>
> Yes, that's true, actually the idea is just the same. So I think
> one could simply add a tolerance parameter (same effect as when using
> for instance +A0.3 in adaptive antialiasing) to the definition of an
> area_light - again when using adaptive method. This would replace the
> default 0.1 difference between the tested rays. I also propose to add
> an option to specify either the recursion limit or the maximum number
> of shadow rays. The first would be more consistent with the current
> available options.
It looks very easy to do that from the source code...never mind, I just
did it, it took about 5 minutes, most of which was spent figuring out
enough of block_area_light(though it isn't tested yet). :-)
I could post the changes here, but they really were nothing: I added an
"Adaptive_Threshold" variable to the light source struct, initialized it
to 0.1 in Create_Light_Source(), modified block_area_light to use that
value instead of 0.1, and added a CASE() in Parse_Light_Source() using
the "threshold" token.
> Could it be possible to mix the area_light adaptive method with the
> antialiasing one ? I understand the situations are different,
> especially if the area_light is large enough. But maybe there's some
> way (approximation) to save a lot of rays instead of multiplying all
> the tests required at every recursion levels.
I'm not sure what exactly you mean...do you want to only calculate area
lighting once and use that result for every sample of each pixel? So for
each pixel, area lighting is calculated once, regardless of how many
samples anti-aliasing uses?
I doubt this would be helpful...it would be equivalent to averaging one
image using area lights with several images without area lights. Unless
you propose to somehow use the same lighting calculations for all the
additional samples...something that would probably require a complete
redesign and rewrite of that entire portion of the code.
> Is that simply utopia ? I'm currently using my custom implementation
> of a camera motion blur effect (moving camera; based on focal blur
> method) with area_lights and adaptive anti-aliasing, and that's hell
> to render. I suspect a lot of rays are "wasted" but I didn't yet find
> an appropriate method to solve that.
First: do you really need anti-aliasing with this camera motion blur?
Second: when are you going to release this patch? :-)
Or have you already?
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
![](/i/fill.gif) |