|
|
|
|
|
|
| |
| |
|
|
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'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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'
|
|
| |
| |
|
|
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'
Preview of image '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'
|
|
| |
| |
|
|
|
|
| |