POV-Ray : Newsgroups : povray.newusers : pigment / finish in union : Re: pigment / finish in union Server Time
4 Sep 2024 18:12:06 EDT (-0400)
  Re: pigment / finish in union  
From: Tom Melly
Date: 1 Oct 2002 04:57:22
Message: <3d996372$1@news.povray.org>
"Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote in message
news:Xns### [at] 204213191226...
> Hello,
> very simple question :
>
> union {
>   #declare a = 0.98;
>   #declare b = 0.30;
>   cylinder { -y, +y*100, 10 pigment { color rgb <a,b,b> } translate z*0  }
>   cylinder { -y, +y*100, 10 pigment { color rgb <a,a,b> } translate z*40 }
>   cylinder { -y, +y*100, 10 pigment { color rgb <b,a,b> } translate z*80 }
>   finish { specular 0.9 roughness 0.02 reflection .5 } // ((1))
>   translate <100,0,0>
> }
>
> shouldn't this code set the ((1)) finish to all 3 cyliders in union,
> leaving pigment differnet for each of them ?
>

Nice idea - the trouble is that your pigment statements are not just pigments -
they are expanded to a full texture (including a finish). Therefore your finish
statement has no effect, since it only applies to untextured objects in the
union.

What you need is:

#declare MyFinish =   finish { specular 0.9 roughness 0.02 reflection .5 }
union {
  #declare a = 0.98;
  #declare b = 0.30;
  cylinder { -y, +y*100, 10 pigment { color rgb <a,b,b> } finish{MyFinish}
translate z*0  }
  cylinder { -y, +y*100, 10 pigment { color rgb <a,a,b> } finish{MyFinish}
translate z*40 }
  cylinder { -y, +y*100, 10 pigment { color rgb <b,a,b> } finish{MyFinish}
translate z*80 }
  translate <100,0,0>
}


Post a reply to this message

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