POV-Ray : Newsgroups : povray.binaries.images : Candle Man! : Re: Candle Man! Server Time
30 Jul 2024 20:21:06 EDT (-0400)
  Re: Candle Man!  
From: clipka
Date: 23 Jan 2011 08:35:07
Message: <4d3c2e8b$1@news.povray.org>
Am 22.01.2011 23:55, schrieb Robert McGregor:

> Hi all, regarding the blue ears/fingertips - I'm wondering if there's a bug in
> the way the color vector is handled somewhere. The color components seem to be
> inverted; for instance red is<0,1,1>  instead of<1,0,0>. Here are some color
> vectors I was playing with a while back. Note that they're all inverted from
> their RGB equivalents, but each renders as it's named color with SSLT:
>
> #declare sslt_aqua    =<1, 0, 0>;
> #declare sslt_magenta =<0, 1, 0>;
> #declare sslt_yellow  =<0, 0, 1>;
> #declare sslt_blue    =<1, 1, 0>;
> #declare sslt_red     =<0, 1, 1>;
> #declare sslt_green   =<1, 0, 1>;
> #declare sslt_white   =<0, 0, 0>;

As I already mentioned earlier, the SSLT parameters are /not/ colors, 
but a pair of wavelength-dependent coefficients that /determine/ the 
color; in POV-Ray, both coefficients are specified for three distinctive 
wavelengths (corresponding - not surprisingly - to red, green and blue, 
respectively).

The first parameter is the "scattering coefficient", specifying how 
often a photon (speaking of the physical thing here, not the POV-Ray 
thing) will be scattered (i.e. experience a change of direction) on 
average while travelling an "odometer distance" of 1 mm through the 
material. (The algorithm presumes that scattering is isotropic; the 
sample values are fit to match that presumption.)

The second parameter is the "absorption coefficient", specifying the 
probability that a photon will be absorbed while travelling that distance.


The dark blue fingers are indeed the results of bad coefficient 
settings; they tell me that the units_per_mm setting is set in a way 
that a finger is close to - or even smaller than - the distance a red or 
green photon would travel before being scattered. In such situations, 
the current surface scattering implementation still gives wrong results, 
as it does not account for photons traveling through the object 
unscattered. (In reality, with features that small, non-isotropic 
scattering would dominate, making the object appear either transparent 
or translucent, or something in between.)

Where the bright edges come from I can't tell exactly; what I /can/ tell 
you is that (1) the math behind the algorithm was designed for planar 
surfaces, and may give less accurate results at edges, and (2) the 
algorithm cannot fully compensate for "fake smoothing"; so in essence 
you'll need a higher-resolution mesh.


Post a reply to this message

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