POV-Ray : Newsgroups : povray.binaries.images : Finally, the rings are visible, but... : Re: Finally, the rings are visible, but... Server Time
5 Nov 2024 01:20:45 EST (-0500)
  Re: Finally, the rings are visible, but...  
From: Reactor
Date: 2 Dec 2009 03:50:01
Message: <web.4b162954ff0131937dea0d300@news.povray.org>
=?ISO-8859-1?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> High!
> Here it is:
>

The problem has to do with floating point accuracy limitations in the media
container.  This part here:

> #declare sc=13347; // 13347; // 1 POV unit = 13347 kilometres

does NOT go well with this part down here:

> difference // rings
> {
>    cylinder
>    {
>      <0, -0.11, 0>/sc, <0, 0.1, 0>/sc, 140390/sc
>    }
>    cylinder
>    {
>      <0, -0.12, 0>/sc, <0, 0.11, 0>/sc, 74510/sc
>    }

The thickness of the rings is too small with respect to the rest of the scene.
I am sure it is the scientifically correct value, but there is a problem with
mixing such small and large values in a scene.  Interestingly enough, you should
be able to render the container shape with those dimensions without any
problems.  If you did that, you could use double_illuminate to make it look like
the media would.

If you want to use media, you will have to make the rings thicker and change
some of the sampling parameters.  This is the media block I used with visually
ok results.  I am not sure if the ring color and thickness is correct, but it
should be easy to tune at this point by changing the scattering extinction and
color values.

Ring code:
//-------------------------
#local sc2 = 25; // new scale value for thickness only, as old
                 // scale value was too small.

difference // media rings
{
   cylinder
   {
     <0, -0.11, 0>/sc2, <0, 0.1, 0>/sc2, 140390/sc
   }
   cylinder
   {
     <0, -0.12, 0>/sc2, <0, 0.11, 0>/sc2, 74510/sc
   }
     hollow
     no_radiosity
     pigment { rgbt 1 }

     interior
     {
       media
       {

       samples 30
         scattering
         {
           5, 150
           eccentricity -0.4
           extinction    0.4
         }
         density
         {
           cylindrical
           density_map // preliminary low-res version
           {
             #declare a=0;
             #while (a<255)
               #declare c=eval_pigment(Saturn_Rings_Colors, <509/510-a/255, 0.5,
0>);
               #declare f=eval_pigment(Saturn_Rings_Transparency,
<509/510-a/255, 0.5, 0>);
               [a*(((140390-74510)/140390)/255) rgb
<c.red,c.green,c.blue>*f.gray ]
          /* you should be multiplying by f.gray, as it returns a transparency
             value from [0..1].
             Note that scattering media is inherently filtering, and the filter
             component of a color needn't be used.
          */
               #declare a=a+1;
              #end
            }
            scale 140390/sc
         }
       }
     }

   }
//--------------------

You can also test scaling the entire scene up by 100 units or so.  Consider this
thread here (web view)
http://news.povray.org/povray.general/thread/%3C47fa4f1b%241%40news.povray.org%3E/)

Anyway, hope that helps.  I rendered with those settings and got some ok
results, but the rings look rather different from camera 0 compared to camera 1.
 I think part of this is the media type, which has direction dependent
scattering, but this might mean you'll have to change sampling parameters
between angles if you want a certain look.


-Reactor


Post a reply to this message

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