|
|
From the POV-Ray for Windows Help 6.5.7.9 Light Fading:
"You should note two important facts: First, for Fade_Distance larger than
one the light intensity at distances smaller than Fade_Distance actually
increases. This is necessary to get the light source color if the distance
traveled equals the Fade_Distance. Second, only light coming directly from
light sources is attenuated. Reflected or refracted light is not attenuated
by distance."
My question:
Is it possible to circumvent this and get reflected or refracted light
attenuated by distance?
--
Apache
POV-Ray Cloth experiments: http://geitenkaas.dns2go.com/experiments/
Email: apa### [at] yahoocom
ICQ: 146690431
Post a reply to this message
|
|
|
|
> My question:
> Is it possible to circumvent this and get reflected or refracted light
> attenuated by distance?
I'm by no means a professional programmer yet, and have absolutely
no insight into the POV-Code or any understanding of it...
Nontheless, I think that it could be done, but is probably pretty
difficult to implement into the already existing code. I don't know
how much information a ray "carries" with itself (rgb-values,
reflection-values, ior-values etc), but you would have to add
the distance any certain lightsource has to the calculated position.
If you've got like a dozen lightsources, the data increases exponentially,
because for every next ray, these dozen lightsources needs to be
consulted again...
Thinking about it, I don't think it can actually be implemented in a
way that POV-Ray may run on a computer different than a
Silicon-Graphics multiprocessor TerraByte-RAM computers...
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmxde
Post a reply to this message
|
|
|
|
In article <3D286CB1.B70525CA@gmx.de>, Tim Nikias <tim### [at] gmxde>
wrote:
> Nontheless, I think that it could be done, but is probably pretty
> difficult to implement into the already existing code. I don't know
> how much information a ray "carries" with itself (rgb-values,
> reflection-values, ior-values etc), but you would have to add
> the distance any certain lightsource has to the calculated position.
> If you've got like a dozen lightsources, the data increases exponentially,
> because for every next ray, these dozen lightsources needs to be
> consulted again...
You are forgetting the fact that a single light source can have many
ways to get to a point by reflecting or being refracted. You are back to
the reason caustics are difficult to implement.
I think the photon mapping algorithm does simulate this: Light doesn't
grow fainter with distance (ignoring atmospheric attenuation for now),
it grows fainter as it spreads out. As photons spread out, the photon
density drops, making the light dimmer.
That statement seems to be a bit unnecessary, since without photons,
refracted or reflected light isn't computed at all. I don't know how
transmitted light behaves, but it shouldn't require much special
handling...just use the distance of the light to the current point
instead of the first intersection. I would assume light falloff happens
through transmitting and filtering surfaces, there is no technical
reason for a different behavior.
--
Christopher James Huff <chr### [at] maccom>
POV-Ray TAG e-mail: chr### [at] tagpovrayorg
TAG web site: http://tag.povray.org/
Post a reply to this message
|
|