|
|
On Sat, 12 Jan 2002 16:17:00 -0500, Christopher James Huff wrote:
> POV-Ray is not designed for physically correct simulation of optical
> effects, it took a long time just for dispersion and photon mapping to
> be added. Effects like diffraction are often difficult to implement,
> very slow to compute, and would contribute little or nothing to the
> majority of scenes.
Polarization wouldn't be much harder to deal with than dispersion, though
birefringence might make it a little more interesting.
Note, too, that dispersion isn't perfect either. For one thing, it
assumes that the function relating IOR to wavelength is very simple
for the visible spectrum. For another, since it's being forced to
work with tristimulus values (RGB) instead of spectral power distributions,
it has to infer some sort of tristimulus->SPD conversion where none
exists. If we provided a way to specify colors as SPDs this wouldn't
be such an issue, of course, but we haven't done that. (For more on
tristimulus values, SPDs, and the pitfalls of conversion, check out
the Color FAQ at http://www.inforamp.net/~poynton/PDFs/ColorFAQ.pdf )
Daren Wilson's original dispersion patch had some support for something
approaching SPDs in the form of 12-component colors, but that support
didn't make it into 3.5. On the other hand, his RGB->SPD conversion was
much less realistic than the one I threw together for 3.5, so hopefully
users will feel that it's balanced out at least a little.
--
#macro R(L P)sphere{L __}cylinder{L P __}#end#macro P(_1)union{R(z+_ z)R(-z _-z)
R(_-z*3_+z)torus{1__ clipped_by{plane{_ 0}}}translate z+_1}#end#macro S(_)9-(_1-
_)*(_1-_)#end#macro Z(_1 _ __)union{P(_)P(-_)R(y-z-1_)translate.1*_1-y*8pigment{
rgb<S(7)S(5)S(3)>}}#if(_1)Z(_1-__,_,__)#end#end Z(10x*-2,.2)camera{rotate x*90}
Post a reply to this message
|
|