POV-Ray : Newsgroups : povray.binaries.images : Averaged micronormals by pattern : Re: Averaged micronormals by pattern Server Time
25 Apr 2024 02:55:14 EDT (-0400)
  Re: Averaged micronormals by pattern  
From: William F Pokorny
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


 

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