POV-Ray : Newsgroups : povray.beta-test.binaries : noise_generator histograms : Re: noise_generator histograms Server Time
28 Sep 2024 18:52:35 EDT (-0400)
  Re: noise_generator histograms  
From: Nathan Kopp
Date: 23 Oct 2001 23:35:39
Message: <3bd6370b@news.povray.org>
"Mike Williams" <mik### [at] nospamplease> wrote...
>
> If you're going to "fix" wrinkles, then I reckon that you should do
> "dents" as well.

A little clarity to the nose_generator issues:
Inside POV there are two types of noise: DNoise and Noise.  DNoise returns a
vector, Noise returns a scalar.  Noise is the one that is affected by the
noise_generator.  DNoise is not affected by the noise generator.

Noise (as opposed to DNoise) is used in the following places:
* Isosurface functions:
  - f_hetero_mf
  - f_ridge
  - f_ridged_mf
  - f_noise3d
  - f_noise_generator
* dents
  - When used as a NORMAL, a combination of Noise and
     DNoise is used
  - When used as a PATTERN, the output of dents is Noise^3 (cubed)
* wrinkles
  - When used as a NORMAL, Noise is NOT used.
  - When used as a PATTERN, the Noise function is called
     10 times, and the results are combined by addition.
* crackle solid
* granite
  - Noise is called 6 times in a loop, and the results
     are combined by addition.
* bozo, spotted, bumps patterns
  - bumps only when used as a PATTERN (when used
     as a NORMAL, it uses DNoise)
  - bozo, spotted, and bumps patterns are all direct
     calls to Noise.
* Turbulence (but not DTurbulence)

Note that only the pattern (pigment) versions bumps and wrinkles are
affected.  The normal versions of these functions are not affected

Some patterns appear to have been "tweaked" to use the strange distribution
pattern of the old Noise function.  Such patterns could thus use a
"re-tweaking" so that they work well under all three noise generators.
Those patterns are:
* wrinkles as a pigment
* granite
* possibly dents

Note: Turbulence has already been "re-tweaked" (though there is a bug in the
re-tweaking that needed to be fixed).

The other functions probably shouldn't be "re-tweaked" because it appears
there is no tweaking in the current implementation and they are expecting
plateau-free noise (which is produced by noise generators 2 and 3).

Re-tweaking is easy.  It is done by taking the output from the new Noise
function, multiplying by 2 and subtracting 0.5.  Then clipping (to the
interval [0,1]) is done if necessary.  I applied this method to granite to
produce the attached results.

Attached is an image of the re-tweaked granite rendered using the three
noise generators.  Note that noise_generator 1 has not changed and produces
the old 3.1-style output perfectly.  It is interesting to note the clear
patterns that emerge from noise_generator 3.  This seems to confirm some
reports that noise_generator 3 doesn't seem to be very random.

-Nathan


Post a reply to this message


Attachments:
Download 'noise_generators.jpg' (62 KB)

Preview of image 'noise_generators.jpg'
noise_generators.jpg


 

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