|
|
|
|
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Suggest v4.0 drop global noise_generator. (yuqk R17 v0.6.11.0)
Date: 8 Nov 2024 09:33:26
Message: <672e2136@news.povray.org>
|
|
|
| |
| |
|
|
The yuqk fork does this and more in the next release.
The global_settings{} noise_generator option was removed. It was never
truly global! The old set up added overhead for all patterns. It left a
situation where sharing SDL was exposed to differences in behavior, any
time the user sharing did not lock all the noise generator use. It
limited flexibility with options like fog{} and irid{}.
Created a new 'ip_noise_generator' keyword for the patterns /
perturbations: agate, bozo, bumps, dents, granite, marble, noise_cubed,
spiral1, spiral2 and wrinkles. Made changes so the two remaining uses of
'noise_generator' now set values local to 'fog{}' and 'irid{}'. The
patterns and features mentioned here are the only ones ever affected by
'noise_generator' settings, global and not
The attached image is a bit contrived, but does show the updated
capability with fog{} and irid{}.
In the top row changing the irid{} noise generators with
'noise_generator' keyword. Left to right, 1, 2 and 3.
In the bottom row playing with fog{}'s new 'noise_generator' setting as
follows left to right. Maybe a Holiday fog on the right...
// Left
//fog { Fog01_wTurb color <0.9,0.9,0.9>}
// Middle
//fog { Fog01_wTurb color <0.9,0.0,0.0> noise_generator 2}
//fog { Fog01_wTurb color <0.0,0.9,0.0> noise_generator 2}
//fog { Fog01_wTurb color <0.0,0.0,0.9> noise_generator 2}
// Right
fog { Fog01_wTurb color <0.9,0.0,0.0> noise_generator 3}
fog { Fog01_wTurb color <0.0,0.9,0.0> noise_generator 2}
fog { Fog01_wTurb color <0.0,0.0,0.9> noise_generator 3}
Bill P.
Post a reply to this message
Attachments:
Download 'ng_yuqk_changes.png' (506 KB)
Preview of image 'ng_yuqk_changes.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
William F Pokorny <ano### [at] anonymousorg> wrote:
> The yuqk fork does this and more in the next release.
>
> The global_settings{} noise_generator option was removed. It was never
> truly global! The old set up added overhead for all patterns. It left a
> situation where sharing SDL was exposed to differences in behavior, any
> time the user sharing did not lock all the noise generator use. It
> limited flexibility with options like fog{} and irid{}.
>
> Created a new 'ip_noise_generator' keyword for the patterns /
> perturbations: agate, bozo, bumps, dents, granite, marble, noise_cubed,
> spiral1, spiral2 and wrinkles. Made changes so the two remaining uses of
> 'noise_generator' now set values local to 'fog{}' and 'irid{}'. The
> patterns and features mentioned here are the only ones ever affected by
> 'noise_generator' settings, global and not
Sounds reasonable. I presume there will be a default 'ip_noise_generator'
value, and a warning for pre-4.0 scenes that use the global_settings()?
Post a reply to this message
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Re: Suggest v4.0 drop global noise_generator. (yuqk R17 v0.6.11.0)
Date: 9 Nov 2024 05:52:39
Message: <672f3ef7$1@news.povray.org>
|
|
|
| |
| |
|
|
On 11/8/24 19:45, Cousin Ricky wrote:
>> Created a new 'ip_noise_generator' keyword for the patterns /
>> perturbations: agate, bozo, bumps, dents, granite, marble, noise_cubed,
>> spiral1, spiral2 and wrinkles. Made changes so the two remaining uses of
>> 'noise_generator' now set values local to 'fog{}' and 'irid{}'. The
>> patterns and features mentioned here are the only ones ever affected by
>> 'noise_generator' settings, global and not
> Sounds reasonable. I presume there will be a default 'ip_noise_generator'
> value, and a warning for pre-4.0 scenes that use the global_settings()?
The 'ip_noise_generator' internal pattern settings are defaulted in yuqk
- the effective noise generator defaulting(2) is unchanged from v3.8
beta 2. The pre-yuqk (4.0 playpen) scenes see an error on invalid use of
'noise_generator' in global_settings{}.
I believe a v4.0 release of POV-Ray should be something new. The yuqk
fork - as my playpen for v4.0 changes / ideas - is breaking away from
official POV-Ray v3.8 over time.
Aside: The maintenance of v3.8 and/or v3.7 versions can be continued
indefinitely - if there is someone to do what would be tedious work over
time, keeping those versions compiling as environmental stuff changes.
We can maintain the bridge to our old scenes with an officially
maintained pre-v4.0 version - without crippling v4.0 development with
the need to stay backward compatible with the old scenes.
Bill P.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I had something bouncing around in the back of my head this morning, and since
this thread concerns the PRNG, I'll drop this here.
If you look at my issue here:
https://news.povray.org/web.650c19af5bb87ec31f9dae3025979125%40news.povray.org
this exposed what I believe to be a long-standing non-uniformity in the returned
values from POV-Ray's built-in PRNG.
Have we taken a deep look at the values that the PRNG returns?
I was examining this from a color_map point of view way back, and I think it
would be good to have something uniform/linear unless otherwise specified.
- BW
Post a reply to this message
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Re: Suggest v4.0 drop global noise_generator. (yuqk R17 v0.6.11.0)
Date: 29 Nov 2024 21:08:09
Message: <674a7389$1@news.povray.org>
|
|
|
| |
| |
|
|
On 11/29/24 09:18, Bald Eagle wrote:
> I had something bouncing around in the back of my head this morning, and since
> this thread concerns the PRNG, I'll drop this here.
>
> If you look at my issue here:
> https://news.povray.org/web.650c19af5bb87ec31f9dae3025979125%40news.povray.org
>
> this exposed what I believe to be a long-standing non-uniformity in the returned
> values from POV-Ray's built-in PRNG.
>
> Have we taken a deep look at the values that the PRNG returns?
>
> I was examining this from a color_map point of view way back, and I think it
> would be good to have something uniform/linear unless otherwise specified.
>
> - BW
>
Due the noise_generator changes in yuqk, I've been working on
documentation which I think will help. See the attached text file.
I believe the noise you were trying to use is a smoothed noise which in
addition to not being locally random at all, roughly follows a normal /
Gaussian centered distribution over all values returned.
The yuqk fork has implemented a few different methods for uniform random
noise in a range beyond what we can do with seed() and random() at parse
time.
Bill P.
Post a reply to this message
Attachments:
Download 'ip_noise_generator.txt' (10 KB)
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Re: Suggest v4.0 drop global noise_generator. (yuqk R17 v0.6.11.0)
Date: 30 Nov 2024 06:20:48
Message: <674af510$1@news.povray.org>
|
|
|
| |
| |
|
|
On 11/29/24 21:08, William F Pokorny wrote:
> Due the noise_generator changes in yuqk, I've been working on
> documentation which I think will help. See the attached text file.
Still refining it, but an updated version of the ip_noise_generator
documentation is attached.
Bill P.
Post a reply to this message
Attachments:
Download 'ip_noise_generator.txt' (11 KB)
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Re: Suggest v4.0 drop global noise_generator. (yuqk R17 v0.6.11.0)
Date: 30 Nov 2024 07:14:03
Message: <674b018b@news.povray.org>
|
|
|
| |
| |
|
|
On 11/30/24 06:20, William F Pokorny wrote:
> Still refining it, but an updated version of the ip_noise_generator
> documentation is attached.
I read it again after posting. One of the points I'm still not making
well in the "background noise" section is that with f_hash() you can
roll your own uniform random noise code in SDL.
The following code was used to generate the attached image
(file_gamma=1.0). No AA used on the left image. Heavy method 3 AA used
in the middle. No AA, but changing the Step value from 0.0 to 0.02 on
the right.
#include "functions.inc"
#declare Seed00 = 7834.5540283051168443;
#declare Step = 0.00; // 0.02 for right image
#declare Fn00 = function {
f_hash(
(
f_hash(x+pi, Seed00 ,Step,0)+
f_hash(y+tau,Seed00*2,Step,0)+
f_hash(z+e, Seed00*4,Step,0)
),
Seed00,Step,0)
}
#declare Pigm00 = pigment {
function { Fn00(x,y,z) }
}
Bill P.
Post a reply to this message
Attachments:
Download 'f_hashuniformrndnoise.jpg' (253 KB)
Preview of image 'f_hashuniformrndnoise.jpg'
|
|
| |
| |
|
|
|
|
| |
|
|