POV-Ray : Newsgroups : povray.general : fresnel reflectivity Server Time
5 Nov 2024 11:17:59 EST (-0500)
  fresnel reflectivity (Message 1 to 6 of 6)  
From: Lutz-Peter Hooge
Subject: fresnel reflectivity
Date: 22 Mar 2003 18:55:04
Message: <3e7cf7d8$1@news.povray.org>
Does anyone here know what values for reflection_min/reflection_max need
to be used together with the 'fresnel' keyword to get realistic 
reflection?
I tried just omitting them but that resulted in no reflection at all...
There didn't find anything about this isue in the docs.

Lutz-Peter


Post a reply to this message

From: Christopher James Huff
Subject: Re: fresnel reflectivity
Date: 23 Mar 2003 17:20:27
Message: <cjameshuff-DEFE4C.17205623032003@netplex.aussie.org>
In article <3e7cf7d8$1@news.povray.org>,
 Lutz-Peter Hooge <lpv### [at] gmxde> wrote:

> Does anyone here know what values for reflection_min/reflection_max need
> to be used together with the 'fresnel' keyword to get realistic 
> reflection?

Well, first, upgrade. The reflection_min and reflection_max keywords are 
long obsolete. In POV 3.5 and MegaPOV 1.0, the simplest specification 
using fresnel reflection is:
reflection {fresnel}

The default min and max will be 0 and 1.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Lutz-Peter Hooge
Subject: Re: fresnel reflectivity
Date: 23 Mar 2003 17:44:46
Message: <3e7e38de$1@news.povray.org>
Christopher James Huff <cja### [at] earthlinknet> wrote:

> Well, first, upgrade.

I already use Pov 3.5.

> The reflection_min and reflection_max keywords are 

Sorry, I didn't mean the old (MegaPov 0.x?) keywords, I just had
to name that values that go into the reflection block somehow.
The docs name them COLOR_REFLECTION_MIN, COLOR_REFLECTION_MAX.

> long obsolete. In POV 3.5 and MegaPOV 1.0, the simplest specification 
> using fresnel reflection is:
> reflection {fresnel}
> 
> The default min and max will be 0 and 1.

Of course I tried that, but it results in no reflection at all.
Minimal scene:

camera {location <0, .1, -5> look_at 0 angle 60}
sky_sphere{pigment{granite}}
plane{y,0 
 pigment{color rgb 1}
 finish{reflection{fresnel}}
 interior{ior 1.5}
}

When using reflection{0,1 fresnel} there is a reflection, 
but I wasn't sure if the result of using the range 0...1
would be the physical correct reflection, thats because I asked.

Lutz-Peter


Post a reply to this message

From: Lutz-Peter Hooge
Subject: Re: fresnel reflectivity
Date: 23 Mar 2003 20:27:40
Message: <3e7e5f0c$1@news.povray.org>
Lutz-Peter Hooge <lpv### [at] gmxde> wrote:

> When using reflection{0,1 fresnel} there is a reflection, 
> but I wasn't sure if the result of using the range 0...1
> would be the physical correct reflection, thats because I asked.

Ok, I searched the source files for 'fresnel' and found the
relevant part. If I understand it corrently 
'reflection{0,1 fresnel}' should indeed give the correct result.

However I discovered something that might be a bug:
The fresnel function used there seems to be the one that describes
how the energy splits up in the reflected/refracted part.
I'm not entirely sure, but I think the function for the intensitys
should be used instead...?

Lutz-Peter


Post a reply to this message

From: Dick Conley
Subject: Re: fresnel reflectivity
Date: 27 Mar 2003 10:48:15
Message: <3e831d3f@news.povray.org>
"Lutz-Peter Hooge" <lpv### [at] gmxde> wrote in message
news:3e7e5f0c$1@news.povray.org...
> Lutz-Peter Hooge <lpv### [at] gmxde> wrote:
>
> > When using reflection{0,1 fresnel} there is a reflection,
> > but I wasn't sure if the result of using the range 0...1
> > would be the physical correct reflection, thats because I asked.
>
> Ok, I searched the source files for 'fresnel' and found the
> relevant part. If I understand it corrently
> 'reflection{0,1 fresnel}' should indeed give the correct result.
>
> However I discovered something that might be a bug:
> The fresnel function used there seems to be the one that describes
> how the energy splits up in the reflected/refracted part.
> I'm not entirely sure, but I think the function for the intensitys
> should be used instead...?
>
> Lutz-Peter

According to Fresnel formulas the minimum reflection (on a scale of 0 to 1)
occurs at an angle of incidence of 0 degrees and is a function of the index
of refraction.

The formula is: min = pow((ior - 1.0) / (ior + 1.0), 2.0)

Your ior of 1.5 (Glass) would be 0.040. Diamond (ior 2.417) would be 0.172.
A minimum reflection of 0.0 would be for an ior of 1.0 (Air).

The maximum reflection occurs at an angle of incidence of 90 degrees and is
always 1.0.

To make this all work properly you need to have the statement "conserve
energy" so that the remaining light after reflection is refracted.

This reflection/refraction occurs when the light enters and leaves the
transparent media. I have seen a single ray of light being reflected
internally over 50 times in gemstones. If your object is complicated (such
as a gemstone) I suggest that the max_trace_level be increased to 20 or 25.

Dick Conley
dic### [at] localaccesscom


Post a reply to this message

From: Lutz-Peter Hooge
Subject: Re: fresnel reflectivity
Date: 27 Mar 2003 14:18:16
Message: <3e834e78@news.povray.org>
Dick Conley <dic### [at] localaccesscom> wrote:

> To make this all work properly you need to have the statement "conserve
> energy" so that the remaining light after reflection is refracted.

And this is where I'm not so sure.
For ENERGY it is obvious that the part that isn't reflected is refracted
inside the object. 
However: the width[1] of the refracted (not the reflected) ray is different
from that of the incoming ray, what means that the intensity[2] of it is lower!
That is: 
E_reflected + E_reflected = E_incoming, BUT
I_refracted + I_reflected < I_incoming ! 
Now the question is: What do we need really need to calculate for the rays?
Energy or intensity? I think it's intensity...

[1] I know that the rays the raytracer calculates do not really have
a width. But it should should behave as if they had, AFAIK.
[2] Intensity: energy/area (really energy/(area*time) but the time dimension 
shouldn't be relevant for raytracing)

Lutz-Peter


Post a reply to this message

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