POV-Ray : Newsgroups : povray.general : Why are these "invisible" spheres visible? : Re: Why are these "invisible" spheres visible? Server Time
31 Jul 2024 12:21:39 EDT (-0400)
  Re: Why are these "invisible" spheres visible?  
From: gadoid
Date: 7 Sep 2007 10:25:00
Message: <web.46e155adc3c951274e9a00c00@news.povray.org>
"Chris B" <c_b### [at] btconnectcomnospam> wrote:
> "gadoid" <hansen at tkgate.org> wrote in message
> news:web.46e0b422c3c9512797e3bb420@news.povray.org...
> >  I have hundreds of the
> > "electron" objects in the scene.  The only thing I can think of is to
> > #declare a different object for every orientation I need since the
> > unrotated objects seem to render fine.
> >
>
> I think the easier workaround is to apply the crackle just to the pigment.
> You can still apply the finish to the texture afterwards.
> Below is an example that makes the problem dissapear with an adaptation of
> your Electric Blue Lightning texture.
> Regards,
> Chris B.
>
>
> #declare P_ElectricBlue = pigment {
>   color  rgb <0.178, 0.122, 1>
> }
>
> #declare P_Lightning = pigment {P_ElectricBlue}
> #declare P_Clear = pigment { color rgbt 1 }
>
> #declare F_Lightning = finish {
>   ambient 5
>   brilliance 100.0
> }
>
> #declare T_Electron = texture {
>    pigment {
>      crackle
>      turbulence .3
>      pigment_map {
>        [0.000 P_Lightning ]
>        [0.0400 P_Lightning ]
>        [0.0800 P_Lightning ]
>        [0.00 P_Clear ]
>        [1.00 P_Clear ]
>
>      }
>    }
>    finish {F_Lightning}
>    scale 0.1
>  }
>
>
> sphere { <0,1,0>, 0.2 texture { T_Electron} rotate (10+350*clock)*y}


Unfortunately, this didn't work for me.  It fixed the problem with the clear
texture reversing the normals, but the pigment map which is really:

pigment_map {
  [0 P_Lightning]
  [0.04 P_Lightning]
  [0.08 P_Clear]
  [1 P_Clear]
}

has a transition from the lightning texture to the clear texture to give it
a soft edge.  When the full finish is applied to this transition region, it
looks terrible.  I have found another possible workaround though.  I tried
replacing my sphere:

sphere { <0,0,0>, R texture { T_Electron}}

with

difference {
  sphere { <0,0,0>, R }
  sphere { <0,0,0>, R-0.001 }
  texture { T_Electron }
}

and this seems to look OK (in fact I suspect it constrains the problem to
the region between R-0.001 and R) which is too small to notice.  The
primary problem is that it increases the rendering time by about a factor
of 3.  Here is what I get before
(http://www.tkgate.org/povray/electrons.png) and after
(http://www.tkgate.org/povray/fixed-electrons.png) using the "difference".
I tried adding an "interior_texture { T_Clear }" to the difference to see if
that would speed up the rendering.  While it does speed up the rendering, it
causes the strange artifact to return.


Post a reply to this message

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