|
![](/i/fill.gif) |
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
|
![](/i/fill.gif) |