POV-Ray : Newsgroups : povray.general : Area Light Setup Server Time
21 Mar 2023 22:53:48 EDT (-0400)
  Area Light Setup (Message 11 to 16 of 16)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Bald Eagle
Subject: Re: Area Light Setup
Date: 28 Jan 2023 11:00:00
Message: <web.63d545f610df5b0e1f9dae3025979125@news.povray.org>
Cousin Ricky <ric### [at] yahoocom> wrote:
> On 2023-01-25 12:22 (-4), Alain Martel wrote:
> >
> > Any sampling array size between those values will be silently increased
> > to the following size of the list. A 4 x 4 adaptive is really 5 x 5, 6 x
> > 6 is promoted to 9 x 9 and 10 x 10 become 17 x 17.
>
> Not according to my tests.  The attached images were rendered with
> area_illumination to reveal the internal array of lights.

That's a cool render - you always come up with some of the most interesting
ideas, techniques, and methods.

Did you just make an area light that's parallel to the checkered plane and then
point the camera down to look through it and so see the reflection of the light?


Post a reply to this message

From: Cousin Ricky
Subject: Re: Area Light Setup
Date: 28 Jan 2023 11:59:34
Message: <63d55476$1@news.povray.org>
On 2023-01-27 10:24 (-4), Alain Martel wrote:
> Le 2023-01-26 à 14:40, Cousin Ricky a écrit :
>> On 2023-01-25 12:22 (-4), Alain Martel wrote:
>>>
>>> Any sampling array size between those values will be silently increased
>>> to the following size of the list. A 4 x 4 adaptive is really 5 x 5, 6 x
>>> 6 is promoted to 9 x 9 and 10 x 10 become 17 x 17.
>>
>> Not according to my tests.  The attached images were rendered with
>> area_illumination to reveal the internal array of lights.
> 
> So, shining an area_light with adaptive AND area_illumination thru a
> small opening changes how adaptive work. Interesting.

There is no change in behavior.  The documentation reads:

  "For example area_light x,y,4,4 specifies a 4 by 4 array of lights. If
  you specify adaptive 3 it would mean that you should start with a 9 by
  9 array. In this case no adaptive sampling is done. The 4 by 4 array
  is used."

There is no mention of any increase in the array size, with or without
area_illumination.  Plus, I examined the source code, and I cannot find
anyplace where the array size is changed after being parsed.

> Did you try without area_illumination ?

The experiment does not work without area_illumination.  The scene file
uses an area light very close to the surface, and no shadows are involved.


Post a reply to this message

From: Cousin Ricky
Subject: Re: Area Light Setup
Date: 28 Jan 2023 12:01:24
Message: <63d554e4$1@news.povray.org>
On 2023-01-28 11:57 (-4), Bald Eagle wrote:
> 
> Did you just make an area light that's parallel to the checkered plane and then
> point the camera down to look through it and so see the reflection of the light?

Yes.


Post a reply to this message

From: Alain Martel
Subject: Re: Area Light Setup
Date: 28 Jan 2023 12:21:26
Message: <63d55996$1@news.povray.org>
Le 2023-01-28 à 11:59, Cousin Ricky a écrit :
> On 2023-01-27 10:24 (-4), Alain Martel wrote:
>> Le 2023-01-26 à 14:40, Cousin Ricky a écrit :
>>> On 2023-01-25 12:22 (-4), Alain Martel wrote:
>>>>
>>>> Any sampling array size between those values will be silently increased
>>>> to the following size of the list. A 4 x 4 adaptive is really 5 x 5, 6 x
>>>> 6 is promoted to 9 x 9 and 10 x 10 become 17 x 17.
>>>
>>> Not according to my tests.  The attached images were rendered with
>>> area_illumination to reveal the internal array of lights.
>>
>> So, shining an area_light with adaptive AND area_illumination thru a
>> small opening changes how adaptive work. Interesting.
> 
> There is no change in behavior.  The documentation reads:
> 
>    "For example area_light x,y,4,4 specifies a 4 by 4 array of lights. If
>    you specify adaptive 3 it would mean that you should start with a 9 by
>    9 array. In this case no adaptive sampling is done. The 4 by 4 array
>    is used."
> 
> There is no mention of any increase in the array size, with or without
> area_illumination.  Plus, I examined the source code, and I cannot find
> anyplace where the array size is changed after being parsed.
> 
>> Did you try without area_illumination ?
> 
> The experiment does not work without area_illumination.  The scene file
> uses an area light very close to the surface, and no shadows are involved.
> 
I've done a similar test. In that test, I did not use adaptive nor 
aera_illumination.
In my test, all the spots are sharp, not fuzzy as in your test.


Post a reply to this message

From: Bald Eagle
Subject: Re: Area Light Setup
Date: 28 Jan 2023 12:40:00
Message: <web.63d55d7b10df5b0e1f9dae3025979125@news.povray.org>
Cousin Ricky <ric### [at] yahoocom> wrote:

> Yes.

Wow.  Much laconic.  Such taciturn.  So not verbose.  Very wow!


+ 1000 POV points


Post a reply to this message

From: William F Pokorny
Subject: Re: Area Light Setup
Date: 29 Jan 2023 09:08:55
Message: <63d67df7$1@news.povray.org>
On 1/28/23 12:21, Alain Martel wrote:
> Le 2023-01-28 à 11:59, Cousin Ricky a écrit :
>> On 2023-01-27 10:24 (-4), Alain Martel wrote:
>>> Le 2023-01-26 à 14:40, Cousin Ricky a écrit :
>>>> On 2023-01-25 12:22 (-4), Alain Martel wrote:
>>>>>
>>>>> Any sampling array size between those values will be silently 
>>>>> increased
>>>>> to the following size of the list. A 4 x 4 adaptive is really 5 x 
>>>>> 5, 6 x
>>>>> 6 is promoted to 9 x 9 and 10 x 10 become 17 x 17.
>>>>
>>>> Not according to my tests.  The attached images were rendered with
>>>> area_illumination to reveal the internal array of lights.
>>>
>>> So, shining an area_light with adaptive AND area_illumination thru a
>>> small opening changes how adaptive work. Interesting.
>>
>> There is no change in behavior.  The documentation reads:
>>
>>    "For example area_light x,y,4,4 specifies a 4 by 4 array of lights. If
>>    you specify adaptive 3 it would mean that you should start with a 9 by
>>    9 array. In this case no adaptive sampling is done. The 4 by 4 array
>>    is used."
>>
>> There is no mention of any increase in the array size, with or without
>> area_illumination.  Plus, I examined the source code, and I cannot find
>> anyplace where the array size is changed after being parsed.
>>
>>> Did you try without area_illumination ?
>>
>> The experiment does not work without area_illumination.  The scene file
>> uses an area light very close to the surface, and no shadows are 
>> involved.
>>
> I've done a similar test. In that test, I did not use adaptive nor 
> aera_illumination.
> In my test, all the spots are sharp, not fuzzy as in your test.

Cousin Ricky's set up doesn't cast shadows.

I believe the amount of fuzziness likely comes from the angle of the 
light relative to the plane in Cousin Ricky's set up where the area 
light is very close to the surface of the plane. You get the same sort 
of fuzzy / fading result with a single point source very close to a surface.

How sharp the result depends on stuff... Stuff like the light's fade 
power / distance and the brilliance setting of the finish. An 
interesting experiment would be to add a finish { brilliance 0.1 } to 
the plane and see what happens in a set up like CR's.

---

As for the sampling array sizes... The current actual behavior is 
complicated. Results look to get mapped back to a fixed 'lightGrid' 
based upon the original size specification, but, the way the testing is 
done when deciding whether to recursively call in 
traceAreaLightSubsetShadowRay and whether sub-area positions are already 
calculated will often enough lead to extra work(a). So counts depend on 
what you are counting and the particulars of the scene.

Bill P.

(a) - Our current adaptive set up is used even when we might want to use 
all the area (size1 x size2) sub positions(b). In other words, when not 
using an 'adaptive n' specification(c) or using a relatively high 
minimum adaptive depth, the recursive calls 'could' be avoided 
altogether for better performance. Further, the on the fly adaptive 
calculations for the recursive set up involve floor() and ceil() which 
are expensive. I suspect there's room for some optimization...

(b) - Like any adaptive algorithm, there will be situations where the 
adaptive test and exit stops too early. This the reason we can force a 
minimum number of area sub-positions be used before any adaptive 
consideration. Where we must force a high minimum to avoid artefacts, I 
suspect there is not much (any?) visual value left in the 'adaptive' 
part of the area light feature; A purely 'flat' code approach would 
likely be faster in such cases... ;-)

(c) Internally the adaptive / depth value is set to 100 when no area 
light, adaptive value is used. In such case we are still using the 
recursive, adaptive algorithm to get a 'flat' area light result.


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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