POV-Ray : Newsgroups : povray.bugreports : Transmit issues : Re: Transmit issues Server Time
14 May 2024 05:31:45 EDT (-0400)
  Re: Transmit issues  
From: Alain
Date: 8 Dec 2009 15:34:36
Message: <4b1eb85c$1@news.povray.org>

> Hi there, I noticed a couple problems with the transmit feature. I made a simple
> scene demonstrating the problems. I also made two demonstration images. One
> image is made with radiosity and one without. The scene consists of test objects
> (cylinders)with varying amounts of transmit. Three objects are placed slightly
> in front of a white plane and three cylinders are placed with the ends extending
> slightlly into the plane.
> 
> The image without radiosity,
> 
> http://mysite.verizon.net/moronicon/Transmit-NoRadiosity.jpg
> 
> shows that the cylinder with transmit set to .8 and placed slightly in front of
> the plane (right middle object) doesn't appear tinted enough from the sides, but
> does appear tinted correctly from the top end.
> 
> The image with radiosity,
> 
> http://mysite.verizon.net/moronicon/Transmit-Radiosity.jpg
> 
> shows that trasmit values don't appear to be taken into account properly when
> calculating radiosity.
> 
> Here is the scene used to generate the images:
> 
> #local UseRadiosity = no; //Change to yes to see the radiosity problem
> 
> global_settings {
>    assumed_gamma 2.2
>    #if (UseRadiosity)
>       radiosity {
>          count 300
>          error_bound .02
>          pretrace_start .08
>          pretrace_end .02
>          recursion_limit 1
>       }
>    #end
> }
> 
> camera {
>    location <0, 0, -4>
>    look_at <0, 0, 0>
> }
> 
> #local White = color rgb <1, 1, 1>;
> #local TestColor = color rgb <160, 255, 90> / 255;
> 
> #if (UseRadiosity)
>    difference {
>       sphere {0, 2001}
>       sphere {0, 2000}
>       pigment {color White * 16}
>    }
> #else
>    light_source {<10, -15, -50> color White * 1.3 shadowless}
> #end
> 
> #local TestObject = cylinder {<0, 0, -1> <0, 0, 0>, .3}
> 
> plane {z, 0 inverse texture {pigment {color White}}}
> 
> /* Left column is three cylinders placed slightly in front of a white plane, */
> /* with transmit values (from top down) of 0, .8, and 1.                     */
> 
> object {
>    TestObject
>    texture {pigment {color TestColor transmit 0}}
>    translate <-1, 1, -.01>
> }
> 
> object {
>    TestObject
>    texture {pigment {color TestColor transmit .8}}
>    translate <-1, 0, -.01>
> }
> 
> object {
>    TestObject
>    texture {pigment {color TestColor transmit 1}}
>    translate <-1, -1, -.01>
> }
> 
> /* Right column is three cylinders extending slightly into a white plane, */
> /* with transmit values (from top down) of 0, .8, and 1.                  */
> 
> object {
>    TestObject
>    texture {pigment {color TestColor transmit 0}}
>    translate <1, 1, .01>
> }
> 
> object {
>    TestObject
>    texture {pigment {color TestColor transmit .8}}
>    translate <1, 0, .01>
> }
> 
> object {
>    TestObject
>    texture {pigment {color TestColor transmit 1}}
>    translate <1, -1, .01>
> }
> 
> 
> 

In both cases, when the end is inside the plane, you have one less 
surface to traverse. It's normal that the tint is not the same.

In the non-radiosity case, the light is to one side, so that the 
illumination is not the same. What you see is as expected.

In the radiosity case, you use "recursion_limit 1" whitch is not enough. 
If you use recursion_limit 2, the black areas disapears. You realy need 
recursion_limit 3 to have good result. You need to change your "sky 
with: pigment {color White }finish{ambient 1 diffuse 0}
Otherwise, it gets REALY to bright as the plane illuminate the sky.

If you expect the colour to depend on the thickness of the object, you 
need an interior where you define a fade_color, fade_distance and 
fade_power. Without that, only the surfaces affect the resulting coloration.

Unrelated: assumed_gamma in the global_settings is been phased out and 
will not be supported in future versions. It's beter to NOT use it and 
only rely on the effective illumination level. Instead, you should rely 
on the gamma settings from the main ini file, and NOT change it for a 
given scene.



Alain


Post a reply to this message

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