POV-Ray : Newsgroups : povray.binaries.images : Question about media_attenuation behavior. : Re: Question about media_attenuation behavior. Server Time
13 May 2024 17:49:38 EDT (-0400)
  Re: Question about media_attenuation behavior.  
From: William F Pokorny
Date: 11 Feb 2018 09:47:47
Message: <5a805793$1@news.povray.org>
On 01/23/2018 03:28 PM, clipka wrote:
> Am 23.01.2018 um 16:57 schrieb William F Pokorny:
> 
...
> I'd say yes, that would be quite useful indeed.
> 
> (And maybe also `media_attenuation on` for light sources inside the
> media container.)
> 

I have been weeks now on and off digging into media and media code. It 
turns out there are scenes - abyss.pov for example - where the 
light_source IS inside the media container. We get no attenuation no 
matter other settings in those cases and often a washed out visual 
result. I'm starting to wonder if this lack of attenuation is behind the 
struggles with contrast in some media scenes.

Anyway, I want to immediately let folks know there is a way to get 
media_attenuation on in cases where your light source(s) are inside your 
media container. If you set up a difference creating either a small void 
or small divot around your light source(s) - presto media_attenuation is 
on.

It's an obvious idea since for lights outside the media container in my 
original posting the attenuation is always on. Of course, the small void 
idea didn't work when I first tried it...

Turns out in the global - the post transforms - scene coordinate space, 
the distance from the light outside to surface of the media container 
must be >= 0.001. This value appears to come from '#define 
SHADOW_TOLERANCE 1.0e-3' value being used in trace.cpp, but I've not 
spent time hacking at that code to be 100% sure.

Getting the lights outside the container >= 0.001 for attenuation works 
all the way back to 3.6.1 in my testing.

Bill P.


Post a reply to this message

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