POV-Ray : Newsgroups : povray.binaries.images : Averaged micronormals by pattern Server Time
6 Nov 2024 04:18:22 EST (-0500)
  Averaged micronormals by pattern (Message 1 to 5 of 5)  
From: Cousin Ricky
Subject: Averaged micronormals by pattern
Date: 9 Jan 2021 18:34:58
Message: <5ffa3da2$1@news.povray.org>
I tried blurred reflections using averaged micronormals of 9 built-in 
patterns.  10 normals are averaged in each frame.  I used a bump size of 
0.1 for all patterns, so the differences in blurriness between frames 
are intrinsic to the patterns.

I used Alain's trick because without it, a render would occasionally get 
stuck.  I was puzzled because I only put one reflective object in the 
scene, but later it occurred to me that the lighting fixtures in my 
prefab render rig have reflective finishes.  Apparently, it doesn't take 
much to bog down a render.

The timing statistics are below.  The CPU is a quad core with dual 
registers.  Figures may not add due to rounding.  Radiosity times are 
omitted because I used two-pass radiosity: a radiosity file was created 
without normals, and this one file was loaded for all of the patterns. 
Parsing and bounding times were negligible.

Elapsed time (m:s)

   Pattern       Photons  Trace   Total
   -------       -------  -----   -----
   agate           0:34    3:30    4:04
   bozo            0:26    2:04    2:30
   bumps           0:26    2:43    3:10
   crackle         1:37    2:54    4:31
   dents           0:27    2:07    2:34
   facets coords   0:42    2:57    3:39
   granite         0:27    3:07    3:35
   spotted         0:27    2:01    2:28
   wrinkles        0:27    2:32    2:59

CPU time (m:s)

   Pattern       Photons  Trace   Total
   -------       -------  -----   -----
   agate           1:53   24:19   26:11
   bozo            1:37   14:48   16:25
   bumps           1:36   19:25   21:01
   crackle         3:15   20:48   24:04
   dents           1:37   15:11   16:48
   facets coords   2:05   21:23   23:27
   granite         1:44   22:13   23:57
   spotted         1:38   14:33   16:11
   wrinkles        1:42   18:04   19:47


Post a reply to this message


Attachments:
Download 'fuzzy_normal_types.jpg' (151 KB)

Preview of image 'fuzzy_normal_types.jpg'
fuzzy_normal_types.jpg


 

From: Thomas de Groot
Subject: Re: Averaged micronormals by pattern
Date: 10 Jan 2021 02:25:18
Message: <5ffaabde$1@news.povray.org>
Op 10/01/2021 om 00:34 schreef Cousin Ricky:
> I tried blurred reflections using averaged micronormals of 9 built-in 
> patterns.  10 normals are averaged in each frame.  I used a bump size of 
> 0.1 for all patterns, so the differences in blurriness between frames 
> are intrinsic to the patterns.

Well done sir! This is very illustrative about what can be expected.


-- 
Thomas


Post a reply to this message

From: Bald Eagle
Subject: Re: Averaged micronormals by pattern
Date: 10 Jan 2021 19:35:01
Message: <web.5ffb9c43bde491d21f9dae300@news.povray.org>
Cousin Ricky <ric### [at] yahoocom> wrote:
> I tried blurred reflections using averaged micronormals of 9 built-in
> patterns.  10 normals are averaged in each frame.  I used a bump size of
> 0.1 for all patterns, so the differences in blurriness between frames
> are intrinsic to the patterns.


Interesting results, given that in my source-code research on the pattern
functions, spotted, bozo and bumps IIRC are all just f_noise3d, while dents is
the result of that function cubed.

Granite and wrinkles are described as variants of "1/f fractal noise" in the
comments.  "Wrinkles is sharper".

Maybe I read something wrong or mis-transcribed something...


Really very nice experiment and beautiful renders.   You are patient and
meticulous as always.  :)


Post a reply to this message

From: William F Pokorny
Subject: Re: Averaged micronormals by pattern
Date: 11 Jan 2021 09:52:02
Message: <5ffc6612@news.povray.org>
On 1/10/21 7:30 PM, Bald Eagle wrote:
> Cousin Ricky <ric### [at] yahoocom> wrote:
>> I tried blurred reflections using averaged micronormals of 9 built-in
>> patterns.  10 normals are averaged in each frame.  I used a bump size of
>> 0.1 for all patterns, so the differences in blurriness between frames
>> are intrinsic to the patterns.

With what sort of anti-aliasing?

> 
> Interesting results, given that in my source-code research on the pattern
> functions, spotted, bozo and bumps IIRC are all just f_noise3d, while dents is
> the result of that function cubed.
> 

The bumps, dents and wrinkles patterns have unique normal block 
implementations. Bumps being a little more expensive than bozo and 
spotted makes sense to me.

Agate is the only one of the set having an internal turbulence component.

What is little curious to me are the photon times. Bumps about the same 
as spotted and bozo? And there is crackle where the photon time is 
significantly more expensive. Crackle has internally a crackle cache. Is 
it not as effective when shooting photons?

...
> 
> Really very nice experiment and beautiful renders.   You are patient and
> meticulous as always.  :)
>  
Indeed!

Forgive me, but I'm going to use this thread as a reason to talk aloud 
some about micro-normals / blurred reflection and some about the 
non-biased rendering aspect Haj indirectly brought up with his mention 
of Blender's Cycles.

I believe a part of more realistic / better looking renders is taking 
more samples - kinda no matter the details of how you do it. Render 
large and scale down and so on.

Attached is an image of 4 renders. In all, I start by forcing a lot of 
rays -> "+a0.0 +am2 +r4." In the second and fourth column I try to add 
micro-normals using povr's updated quilted, true normal, perturbation 
pattern. Just: normal { quilted -0.175 scale 0.0005 }.

The left two columns demonstrate the strong pixel bias long built into 
POV-Ray. AA doesn't ever jitter outside a pixel or in fact outside any 
super-sampled sub-pixel - so the bias to a fixed grid of samples 
strengthens as AA recursion depth increases. The jitter in v3.7/v3.8 is 
itself not very random - no better than no jitter in most cases.

In povr you can use big jitter (values > 1.0). The jitter is made larger 
as recursion depth increases because it is specified relative to the 
smallest possible sub-sampled pixel. The controls "+a0.0 +am2 +r4 
+j37.0" are used in the right two renders.

All the renders shoot the same number of rays. The constrained to pixel 
bias in the left two (as in POV-Ray proper) makes those rays less 
helpful to the end result.

The averaged normals method remains useful in situations where you don't 
otherwise have moire' effects requiring more samples. The AA kicks in 
locally in such cases for the blurred effect so it's likely more efficient.

Bill P.


Post a reply to this message


Attachments:
Download 'microblur_aajitter.jpg' (263 KB)

Preview of image 'microblur_aajitter.jpg'
microblur_aajitter.jpg


 

From: Cousin Ricky
Subject: Re: Averaged micronormals by pattern
Date: 11 Jan 2021 10:37:27
Message: <5ffc70b7$1@news.povray.org>
On 2021-01-11 10:52 AM (-4), William F Pokorny wrote:
>> Cousin Ricky <ric### [at] yahoocom> wrote:
>>> I tried blurred reflections using averaged micronormals of 9 built-in

>>> 0.1 for all patterns, so the differences in blurriness between frames
>>> are intrinsic to the patterns.
> 
> With what sort of anti-aliasing?

+A0.05 +AM1 +J +R5

> On 1/10/21 7:30 PM, Bald Eagle wrote:
>>


>>
> Indeed!
> 
> [snip]
> 
> Attached is an image of 4 renders. In all, I start by forcing a lot of 
> rays -> "+a0.0 +am2 +r4."

Speaking of patience.

I don't use +AM2 with checkered planes, though with +A0.0 it makes no 
difference.


Post a reply to this message

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