|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |