POV-Ray : Newsgroups : povray.beta-test.binaries : Examples of povr random and un-clamped AA jitter. Server Time
4 May 2024 06:47:55 EDT (-0400)
  Examples of povr random and un-clamped AA jitter. (Message 3 to 12 of 12)  
<<< Previous 2 Messages Goto Initial 10 Messages
From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 31 Oct 2020 12:36:11
Message: <5f9d927b$1@news.povray.org>
On 10/31/20 10:40 AM, Cousin Ricky wrote:
> William F Pokorny <ano### [at] anonymousorg> wrote:
>>
>> Thinking some of increasing the max allowed depth for AA method 1 to
>> perhaps 20.
> 
> .... Because our renders aren't taking long enough.
> 
> 
:-) There is truth in that statement!

I've been playing most of today with "big jitter" AA. Attaching another 
image / effect I liked. This one using +a0.0 +am2 +r6 +j467

The blurring is different than low sample or 2d weighted techniques. 
Because the sampling rays continue to find the source scene, things 
don't turn to mud until the jitter distances are really, really large. 
No big surprise I guess, but it's interesting to see it in practice.

Prefix aside: There is a table in the documentation regarding the 
maximum number of samples for any given +r recursion depth. As far as I 
know it has more or less forever read:

         M1      M2

1 	1 	9
2 	4 	25
3 	9 	81
4 	16 	289
5 	25 	1089
6 	36 	4225
7 	49 	16641
8 	64 	66049
9 	81 	263169

During the recent AA work I noticed it's wrong for method 2 AA. I 
believe it should read:

1 	1 	4
2 	4 	9
3 	9 	25
4 	16 	81
5 	25 	289
6 	36 	1089
7 	49 	4225
8 	64 	16641
9 	81 	66049

Aside 1: Method 1 is R^2 samples max so +r20 it's only 400 samples - 
which is much less than method 2's max of 66049. Even the +r6 for the 
attached image used 1089. My frustration when playing with stuff like 
the isosurface clouds has been not being able to get a larger number of 
samples in a way which 'only' squares on the recursion depth.

Bill P.


Post a reply to this message


Attachments:
Download 'morebigjitter.jpg' (142 KB)

Preview of image 'morebigjitter.jpg'
morebigjitter.jpg


 

From: Bald Eagle
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 31 Oct 2020 16:25:06
Message: <web.5f9dc71a111549351f9dae300@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:

> Thinking some of increasing the max allowed depth for AA method 1 to
> perhaps 20. Also of trying again my isosurface cloud renders with jitter
> values >>1.0....

Why "limit" it?
Maybe issue a warning message that "jitter values above ## may drastically
increase render times..."  Your extreme settings sort of look like a Gaussian
blur effect, which some folks might find very useful for specialized purposes
(heightfields, etc.)


Post a reply to this message

From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 1 Nov 2020 08:37:19
Message: <5f9eba0f$1@news.povray.org>
On 10/31/20 4:20 PM, Bald Eagle wrote:
> William F Pokorny <ano### [at] anonymousorg> wrote:
> 
>> Thinking some of increasing the max allowed depth for AA method 1 to
>> perhaps 20. Also of trying again my isosurface cloud renders with jitter
>> values >>1.0....
> 
> Why "limit" it?
> Maybe issue a warning message that "jitter values above ## may drastically
> increase render times..."  Your extreme settings sort of look like a Gaussian
> blur effect, which some folks might find very useful for specialized purposes
> (heightfields, etc.)
> 

Storage is what I was thinking on coming up with 20.

I suppose for method 1 and 3 not much reason. Method 2 there is actual 
call recursion.

Bill P.

PS. I've wondered whether and actual gaussian/normal jitter distribution 
as an option might not be interesting. C++11 offers a set of 
distributions and there have long been some internal to POV-Ray. Method 
3 uses one of those. Someday, maybe...


Post a reply to this message

From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 1 Nov 2020 09:12:48
Message: <5f9ec260$1@news.povray.org>
On 10/31/20 12:36 PM, William F Pokorny wrote:










I should've added a new v3.8 method 3 column to the max samples per 
R(+r) setting table:

R       M1      M2         M3
-----------------------------------
1 	1 	4          4
2 	4 	9          16
3 	9 	25         64
4 	16 	81         256
5 	25 	289        1024
6 	36 	1089       4096
7 	49 	4225       16384
8 	64 	16641      65536
9 	81 	66049      262144

Bill P.


Post a reply to this message

From: Cousin Ricky
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 1 Nov 2020 09:40:08
Message: <web.5f9ec7fb1115493560e0cc3d0@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:
>
> Aside 1: Method 1 is R^2 samples max so +r20 it's only 400 samples -
> which is much less than method 2's max of 66049.

But method 2 is adaptive, whereas method 1 is not.


Post a reply to this message

From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 1 Nov 2020 12:41:25
Message: <5f9ef345$1@news.povray.org>
On 11/1/20 9:36 AM, Cousin Ricky wrote:
> William F Pokorny <ano### [at] anonymousorg> wrote:
>>
>> Aside 1: Method 1 is R^2 samples max so +r20 it's only 400 samples -
>> which is much less than method 2's max of 66049.
> 
> But method 2 is adaptive, whereas method 1 is not.
> 
Mostly true. :-)

I think of method 1 as one step adaptive to max R samples in any given 
pixel when running typical AA.

I'm running with a threshold of 0.0. Samples go all the way up/down to 
the max, due R, no matter. I'm trying to force a large number of 
samples, but just large enough for an effect rather than wildly too 
large for that effect.

Bill P.


Post a reply to this message

From: Le Forgeron
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 3 Nov 2020 07:29:37
Message: <5fa14d31$1@news.povray.org>
Le 31/10/2020 à 13:23, William F Pokorny a écrit :
> Yesterday in povray.general I rambled long about the current state of
> jitter and related changes made to povr's AA method 1 and 2 jitter.
> Attached an image with some examples with the jitter truly random upper
> left (no much different than today's v3.8) and three images making use
> of larger +j values.
> 
> Thinking some of increasing the max allowed depth for AA method 1 to
> perhaps 20. Also of trying again my isosurface cloud renders with jitter
> values >>1.0....
> 
> Bill P.

How does it interact with bokey ?

Unclamping jitter is adding fuzziness, or it is bluriness ?


Post a reply to this message

From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 3 Nov 2020 10:43:45
Message: <5fa17ab1@news.povray.org>
On 11/3/20 7:29 AM, Le_Forgeron wrote:
> Le 31/10/2020 à 13:23, William F Pokorny a écrit :
> 
> How does it interact with bokey ?
> 
> Unclamping jitter is adding fuzziness, or it is bluriness ?
> 

I think jitter >>1  is more fuzzy than blurry, but hard to pick up a 
meaningful difference at times. Toward extremes, with everything way out 
of focus not sure there is much effective difference between wild 
sampling with focal blur and wild sampling with big jitter.

Thanks for the wonderful question! I've never used AA with focal blur... 
The latter usually being plenty of "AA." Didn't even think to "play" 
with the combination of the two features.

First to be clear my jitter changes affect only the jitter as used by AA 
methods 1 and 2. The focal blur internal jitter2d use is not changed.

Because I don't know how to use the bokeh feature, let me start with 
three initial compares in the attached image. For AA, when it is run, I 
am using +a0.0 +am1 +r4.

In the top row left is focal blur with no AA taking 7 seconds. In the 
middle top row is the same focal blur but turning on AA as above with 
jitter off. So the top row is comparing v3.8 master focal blur (7 
seconds elapsed) to focal blur with AA (2 minutes elapsed) and the 
difference at a 5x multiplier on the right.

In the middle row everything the same, except I turned on big jitter 
with +j44. Elapsed times basically the same. Differences are more 
dramatic as one might expect. I think one could say the middle column of 
the middle row now looks much more blurry/fuzzy than any of the others.

In the bottom row we have again focal blur on the left and in the bottom 
middle just AA with big jitter on at +j44 (13 seconds elapsed). Here I 
think we see that the jitter alone is more fuzzy than blurry.

I learned that AA with focal blur is much more expensive than either 
feature alone. Supposing the AA tends to mess up the convergence to 
whatever the confidence value is?

Even changing the AA threshold to a more reasonable 0.1 with jitter off 
increases the number of number of rays shot in a focal blur render:

4.2891e+06 -> 2.1576e+07 ---> 403.05%

I'll try and get back and do some bokeh renders this afternoon. Thanks 
again for the question!

Bill P.


Post a reply to this message


Attachments:
Download 'fb_wnewjit.jpg' (328 KB)

Preview of image 'fb_wnewjit.jpg'
fb_wnewjit.jpg


 

From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 4 Nov 2020 10:23:46
Message: <5fa2c782@news.povray.org>
On 11/3/20 10:43 AM, William F Pokorny wrote:
> On 11/3/20 7:29 AM, Le_Forgeron wrote:
>> Le 31/10/2020 à 13:23, William F Pokorny a écrit :
>>
>> How does it interact with bokey ?
>>
...
> 
> I'll try and get back and do some bokeh renders this afternoon. Thanks 
> again for the question!
> 

Ended some time yesterday and more this morning...

---
My look at bokeh with idea of looking at AA big jitter in combination.

Basically, after quite a bit of time, I'm not quite sure what bokeh is 
doing beyond shaping somewhat the sampling pattern. Further, in all my 
testing big jitter overwhelms the bokeh effect.

If anyone has a really good example scene of bokeh usage where the 
effect is working really well, I'd be interested.  Quite a bit with that 
feature looks funky to me, but maybe I just don't understand it well 
enough? Do I not the right sort of in focus versus way out of focus set up?

Stuff that look weird:

no bokeh        -> 4289148 rays
1/3 in x white  -> 3143459 rays
All white image -> 3002417 rays
All black image -> 3282071 rays
... Why is no bokeh so much larger than any bokeh result. Do I need a 
big min samples or something? My assumption is it should still converge 
to the confidence value using up to the max samples, but within the 
shape and all white should always have more samples than black (no shape)?

The larger the user's number of samples the smaller the bokeh jitter in 
the created jitter array. This a bit like the AA jitter value shrinking 
as the recursion deepens no matter the threshold/confidence and adaptation.

Any time I try to use anything but an image_map in the pigment I get a 
core dump.

There is some unfinished code in the bokeh conditional which should 
probably be finished.

Attached is bokehShift.jpg. The sample size is set to 1 so the bokeh 
jitter values are as large as possible. On the left bokeh with a 
completely black image. On the right the completely white image. There 
is a significant shift down and to the left where the image is white (or 
visa versa). And both white and black are shifted relative to simple 
focal blur. No image for this latter lessor shift - though it is buried 
in the image bokehShift.jpg image differences.

Also attached is a second image in blurSmplOne.jpg trying to answer your 
question, Jerome, FWIW.  In the upper left focual blur at 1 sample. In 
the upper right is just "+a0.0 +am1 +r4 +j222". In the lower left corner 
both together but no bokeh. In the lower right focal blur one sample, 
jitter 222, and a bokeh pattern (image) with a vertical white stripe in 
the middle third.  There is change, but it's overwhelmed by the random 
big jitter.

Expect I could figure out more, but I'm not doing it now... And, if 
ever, I'd like to start with a good "working" example of bokeh use. Oh, 
and maybe a good description of the expected inner code behavior should 
be if that exists in someone's library?

Bill P.


Post a reply to this message


Attachments:
Download 'blursmplone.jpg' (149 KB) Download 'bokehshift.jpg' (177 KB)

Preview of image 'blursmplone.jpg'
blursmplone.jpg

Preview of image 'bokehshift.jpg'
bokehshift.jpg


 

From: William F Pokorny
Subject: Re: Examples of povr random and un-clamped AA jitter.
Date: 6 Nov 2020 11:53:48
Message: <5fa57f9c$1@news.povray.org>
On 10/31/20 8:23 AM, William F Pokorny wrote:
...
> 
> Thinking some of increasing the max allowed depth for AA method 1 to 
> perhaps 20. Also of trying again my isosurface cloud renders with jitter 
> values >>1.0....
> 

I've updated povr's AA and jitter code to support method 1 +r depths of 
whatever size. Left the other two methods alone.

Also made some updates to avoid extra work where the threshold is 
essentially zero or the aagamma (+ag) is 1.0. This lets one bypass the 
gamma curve corrections and use just threshold for control. One can get
substantial render savings. One can also get longer renders. Amounts to
more control and an ability to get time savings when the curve 
corrections and threshold tests are just useless computations toward an 
end result.

One other thing I've learned is the big jitter makes the method 1 
testing left and up only bias more obvious. For symmetry in AA results 
methods 2 and 3 are the way to go.

Lastly, attaching another example showing an odd effect one can get with 
very big jitter settings and largish threshold settings. Basically the 
big jitter only kicks in near where AA does. Not sure if the result 
would ever be that useful, but FWIW.

Bill P.


Post a reply to this message


Attachments:
Download 'bigjitthrspt15.jpg' (131 KB)

Preview of image 'bigjitthrspt15.jpg'
bigjitthrspt15.jpg


 

<<< Previous 2 Messages Goto Initial 10 Messages

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