POV-Ray : Newsgroups : povray.advanced-users : How is fade_color used? : Re: How is fade_color used? Server Time
3 Jul 2024 05:04:07 EDT (-0400)
  Re: How is fade_color used?  
From: Alain
Date: 31 Oct 2008 18:30:48
Message: <490b8718$1@news.povray.org>
Chris B nous illumina en ce 2008-10-31 16:44 -->
> 
> "Cousin Ricky" <ric### [at] yahoocom> wrote in message 
> news:web.490a9c11a1c415d885de7b680@news.povray.org...
>> Alain <ele### [at] netscapenet> wrote:
>>> In the interior block, you need not only face_color but also 
>>> fade_distance, and
>>> fade_power.
>>>
>>> fade_color control what color to fade to.
>>> fade_distance controls the distance, in units, over whitch the 
>>> face_color
>>> contribute to half of the final coloration.
>>> fade_power controls the "shape" of the atenuation curve. This should 
>>> normaly be
>>> set to 1 OR 1001. Both are correct. 1 is a linear atenuation 1001 is an
>>> exponential atenuation.
>>
>> That's a nice summary of the documentation.  I could've done that.
> 
> That sounds a little harsh.
> 
>> My problem is that I can't relate fade_color to the appearance of the 
>> object.
>> It obviously controls the color, but in what manner?
> 
> I think this points to a potential misconception. These settings control 
> the light passing through the object rather than directly controlling 
> the appearance of the object's surface. As the object is at least 
> partially transparent this means that the colors of things behind the 
> object are changed as light passes from them and through the object to 
> get to the camera.
> 
>> Say I want a muted green color.  I try some numbers for fade_power,
>> fade_distance, and fade_color, and I get a smoky moss gray.  I tweak the
>> numbers a bit and end up with an overpowering emerald green.  I try to 
>> tone it
>> down a bit and end up with black with bright green fringes.  And so 
>> on. It's
>> like throwing clay at a wall repeatedly, and hoping that a flower pot 
>> will come
>> out.
>>
>> The root problem--at least for me--is that fade_color is not in either 
>> of the
>> attenuation formulas as documented.  Because of this, I just can't 
>> figure out
>> how fade_color will affect the attenuation.  That's what I'd like to 
>> know.
> 
> Here's my shot at explaining it:
> 
> The fade_color is simply multiplied by the original light color to get 
> the color that the light will change to when fully attenuated. So, if 
> LightColorIn is the RGB color of the light going into an object and 
> AttenuationColor is the attenuation color, then at 'full' attenuation, 
> the light will end up with a color of LightColorIn * AttenuationColor 
> (call this FullyAttenuatedColor).
> 
> At a specific distance into the object the actual attenuation (let's 
> call this Attenuation) is given by the formula in the docs. The light at 
> this point will therefore have a color given by the formula 
> LightColorIn-(LightColorIn-FullyAttenuatedColor)*Attenuation.
> 
> If the object is completely transparent then you won't see the object at 
> all, but you will see what's behind it and the appearance of what's 
> behind it will be affected by the thickness of the parts of the object 
> intersected by rays coming from the camera. Light falling directly on 
> the object won't directly affect the image.
> 
> The very simple example below illustrates this by using a white light on 
> the left of a transparent cylinder with a white plane behind it. The 
> cylinder itself is only visible because it attenuates the light coming 
> from the plane. Remove the plane and you no longer 'see' the cylinder.
> 
> The grey light from the plane is turned green because the fade_color is 
> green. The centre line more so because it's thicker there than above and 
> below that line. You also get reduced attenuation on the left and right 
> edges because the distance through the end caps is less than the 
> distance through the full body of the cylinder.
> 
> The light cast on the right hand side of the plane by white light that 
> passes through the cylinder is also turned green, more so where it 
> travels further through the cylinder.
> 
> 
> camera {location <0,0,-3> look_at 0}
> light_source {<-3,0,0>, rgb 1}
> 
> cylinder {-x,x,1
>  texture {
>    pigment {rgbt 1}
>  }
>  interior {fade_power 2 fade_distance 1 fade_color <0,1.8,0>}
> }
> 
> plane {-z,-2 pigment {rgb 1}}
> 
> 
> Hope this helps.
> 
> Regards,
> Chris B.
A way to do your test is to use an animation where you shift a parameter's value 
accordint to the clock. It can look like:

interior{fade_power 1 fade_distance clock*2 fade_color <0,1,0>}

You can place tree copy side by side, one with fade_power 1, one with fade_power 
1001 and one with fade_power 2 to see the difference.

-- 
Alain
-------------------------------------------------
The last person that quit or was fired will be held responsible for  everything 
that goes wrong.


Post a reply to this message

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