|
![](/i/fill.gif) |
clipka <ano### [at] anonymous org> wrote:
> First, here's bad news:
>
> We have a bug in photons { pass_through }.
>
> The current implementation mechanism is (and apparently has always been)
> causing an "amplification" effect on photons. See
> http://bugs.povray.org/task/93 for an example scene.
>
> Then, there's good news:
>
> I located the error.
>
> There is a piece of code in PhotonTrace::ComputeLightedTexture that
> causes pass_through objects to *both* let the photon pass unaffected
> *and* have a clone of it pass trough it with all effects - transmit &
> filter attenuation, reflection & refraction - the whole smash.
>
> Duh!
>
> Question is, how to fix this thing? Do we just want to suppress
> reflection & refraction but do transmit & filter attenuation? That would
> be my favorite, though according to the documentation only media-based
> attenuation should occur.
I suspect people may have been using this for an artistic effect to date, so I'm
in favor of throwing an optional parameter to pass_through:
Omitted/"double": Current effect.
"transmit"/"filter": Proposed effect; suppresses only reflection/refraction.
"media": Suppresses all non-media attenuation.
At least, if doing it this way wouldn't make things more complicated than it's
worth.
Post a reply to this message
|
![](/i/fill.gif) |