POV-Ray : Newsgroups : povray.beta-test : Colour of blurred reflections in unbiased tracing : Re: Colour of blurred reflections in unbiased tracing Server Time
1 May 2024 19:40:02 EDT (-0400)
  Re: Colour of blurred reflections in unbiased tracing  
From: clipka
Date: 30 Jan 2013 10:35:55
Message: <51093ddb$1@news.povray.org>
Am 30.01.2013 16:05, schrieb scott:

>> (2) Any light that is not reflected will penetrate into the object and
>> scatter around in the material, where it will be subject to filtering
>> (depending on wavelength), and if it is not thus "swallowed" it will
>> ultimately exit the object once again in a very random direction. This
>> scattered light will /always/ be "colored" depending on the material,
>> and its distribution will (almost) /always/ be (almost) totally
>> independent of the incoming light direction.
>
> Is it really a uniform colouring effect across the entire range of
> angles though? I would have thought light that scatters less will come
> out nearer to "white" and nearer the "direct" reflection angle, whereas
> the light that is scattered more will be filtered more and come out more
> randomly spread.

The light that scatters less will indeed come out nearer to "white", but 
its direction is as random as any other light that manages to come back 
out. (At least that's true for most solid materials, in which the 
scattering is sufficiently anisotropic.)

> It's hard to judge with real materials because even with no obvious
> specular I think there are still specular effects that are extremely
> blurred, it might just be this that I'm seeing.
>
>> MCPov does it exactly the way it should be done (except that it has a
>> bug in computing the contribution from (2), getting it wrong by a factor
>> of 2, but that's another story).
>
> Is there a rule then to ensure physical correctness in mcpov when
> supplying parameters for the diffuse and reflection contributions? So
> far I've been working on diffuse+reflection=1, but it seems like that's
> wrong now.

It is wrong indeed, for quite a bunch of reasons as far as MCPov is 
concerned:

- It doesn't properly handle the variation in specular reflection 
depending on incoming angle and ior (modeled by the "fresnel" setting 
for reflections).

- MCPov gets diffuse reflections wrong by a factor of 2.

- When using a "brilliance" setting of something other than 1.0, the 
value specified in "diffuse" is /not/ the percentage of light scattered 
back diffusely. Instead, the "diffuse" parameter directly controls the 
brightness of the brightest spot. The new "albedo" keyword takes care of 
this discrepancy: If you specify "diffuse albedo X", then X is indeed 
the ratio of light scattered back diffusely (of all the light that comes 
in).


If you don't use "fresnel" on the reflection (nor variable reflection, 
for that matter), and if MCPov didn't have this factor-2 bug, then it 
should indeed be:

     diffuse albedo + reflection <= 1.0


As you can see there are still some details missing for physically 
realistic materials. But I'll keep working on it.


Post a reply to this message

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