#declare chrome = texture { pigment { color rgbf < 0.5 0.5 0.5 0>} finish { diffuse 0.1 specular 0.5 reflection 0.7 roughness 0.005 metallic } } #declare shower_curtain_rodmount = union { cylinder { <0,0,0> <0,0,0.2> 1.3 } torus { 1.3 0.1 rotate 90*x translate 0.1*z } cylinder { <0,0,0> <0,0,0.3> 1.15 } torus { 1.15 0.1 rotate 90*x translate 0.2*z } cylinder { <0,0,0> <0,0,0.4> 1.0 } torus { 1.0 0.1 rotate 90*x translate 0.3*z } cylinder { <0,0,0> <0,0,1> 0.55 } difference { sphere { <0,0,1> 0.7 } cylinder { <0,0,1> <0,0,3> 0.5 } } texture { chrome } } #macro shower_curtain_rod(rodlen) union { object { shower_curtain_rodmount } object { shower_curtain_rodmount rotate 180*y translate rodlen*z } cylinder { <0,0,0> <0,0,rodlen> 0.48 } texture { chrome } } #end