POV-Ray : Newsgroups : povray.programming : Area_light tolerance in Pov3.1 : Re: Area_light tolerance and optimisation stuffs Server Time
28 Jul 2024 14:26:55 EDT (-0400)
  Re: Area_light tolerance and optimisation stuffs  
From: Chris Huff
Date: 11 Nov 2000 08:30:25
Message: <chrishuff-F55B43.08303211112000@news.povray.org>
In article <3A0BE522.1DE8E5B0@free.fr>, Nicolas Calimet 
<pov### [at] freefr> 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] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.