POV-Ray : Newsgroups : povray.binaries.images : Blurred reflection comparison : Re: Blurred reflection comparison Server Time
16 Apr 2024 13:24:22 EDT (-0400)
  Re: Blurred reflection comparison  
From: Alain
Date: 13 Feb 2018 19:31:28
Message: <5a838360$1@news.povray.org>
Le 18-02-12 à 16:27, Mike Horvath a écrit :
> On 2/12/2018 1:21 PM, clipka wrote:
>> Am 12.02.2018 um 14:08 schrieb Mike Horvath:
>>> I still don't understand how I'm supposed to achieve the blurred
>>> reflections possible in UberPOV by just using a little focal blur.
>>> Compare the two attached images - especially the reflections in the
>>> circled parts.
>>
>> Focal blur is just part of the equation.
>>
>> You need:
>>
>> (1) A way to randomize the reflection. A `normal` statement with a very
>> small scale does nicely.
>>
>> (2) A way to force POV-Ray to shoot a high number of rays per pixel
>> where the randomized reflection is. A small bit of focal blur (with high
>> quality settings) does nicely.
>>
>> Together this gives you nice blurred reflections at a (hopefully)
>> reasonable speed.
>>
> 
> Is this random normal good?
> 
> 
> 
> 
> #declare BlurAmount = 0.2*2; // Amount of blurring, double BlurAmount 
> since it's used in an average
> #macro BlurredReflectionRandNormals(InPigment, InFinish, InNormal)
> //    texture
> //    {
>          #declare S = seed(0);
>          pigment { InPigment }
>          finish { InFinish }
>          normal
>          {
>              average
>              normal_map
>              {
>                  [1 bumps BlurAmount translate 
> <rand(S),rand(S),rand(S)>*100 scale 0.001]
>                  [1 InNormal]
>              }
>          }
> //    }
> #end

It's good in the sense that it will not cause any error.
BUT.. At parse time, it will compute the average between the two normals 
into a single one that will get used. This result in only a single 
reflected ray been taken into count.
I did try averaging many normals and it always give a sharp reflection.

To use the averaged normals blurred reflection, you need to average 
whole textures.

Move the seed before the average.
Enclose the texture in a loop construct.
Place that loop within your average.


Post a reply to this message

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