POV-Ray : Newsgroups : povray.unix : Confusion about the index of refraction : Re: Confusion about the index of refraction Server Time
29 Apr 2024 22:42:34 EDT (-0400)
  Re: Confusion about the index of refraction  
From: clipka
Date: 17 Jul 2012 11:13:45
Message: <50058129$1@news.povray.org>
Am 17.07.2012 14:54, schrieb Chaanakya:
> I've been trying to figure this out for a while.  Let's say one specifies an ior
> of 1.5 (in the interior {} block).  Can't POV-Ray automatically calculate the
> reflectance and transmittance?  It knows the angle of the incident light and the
> index of refraction of the two media.  Even with the fresnel keyword, however,
> POV-Ray still requires me to manually calculate and plug in the reflectance and
> transmittance.  Am I missing something?

(1) Historical reasons; early versions didn't have the fresnel keyword, 
and instead required you to tweak various parameters until the result 
looked reasonably ok. The parameters are still there.

(2) The fresnel formulae for reflectance and transmittance are correct 
for ideal, perfectly smooth surfaces, but real surfaces aren't that way; 
a surface with plenty of microscopic scratches, for instance, will 
exhibit a mix of specular reflection (from light rays that hit undamaged 
areas) and lamtertian diffuse reflection (from rays that hit a scratch). 
Lambertian law would also imply that in order to reduce the specular 
reflections on LCD displays you'd have to blur them, but researchers 
recently developed a surface microstructure (at below-wavelength scale) 
that will actually /suppress/ reflections.

(3) The fresnel formulae are correct for single interfaces, but real 
surfaces frequently involve some coating, making it a stack of multiple 
interfaces; it is much easier (in terms of geometric modelling and/or 
computational effort) to handle such surfaces with a tweaked 
single-interface model, rather than simulate the interactions between 
the material layers.

(4) Manually calculating reflectance and transmittance for an ideal 
surface shouldn't be necessary if you use both fresnel and conserve_energy.


(BTW, is there any reason you ask this in the unix-specific newsgroup?)


Post a reply to this message

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