#version 3.0 global_settings { assumed_gamma 2.2 } #include "colors.inc" #include "shapes.inc" #include "textures.inc" #include "glass.inc" #declare Angle=0 ; global_settings { max_trace_level 2000 //max_trace_level 5 adc_bailout 0.01 //ambient_light rgb .9 //assumed_gamma 2.2 /* radiosity { brightness 3.3 count 500 distance_maximum 0 error_bound 0.2 gray_threshold 0.5 low_error_factor 0.8 minimum_reuse 0.015 nearest_count 10 recursion_limit 3 } */ } #declare DarkGrayCrackle=texture { pigment { crackle color_map { [0.0 Black] [1.0 White] } } normal{ crackle 1 } finish { Shiny } scale .24 } #declare BlueBlackCrackle=texture { pigment { crackle color_map { [0.05 colour rgb<0, 0, 0> ] [0.08 colour rgb<0, 1, 1> ] [0.10 colour rgb<0, 1, 1> ] [1.00 colour rgb<0, 0, 1> ] } } normal{ crackle 1 } finish{ Shiny } scale .24 } #declare BlueWhiteCrackle=texture { pigment { crackle color_map { [0.05 colour rgb<1, 1, 1> ] [0.08 colour rgb<0, 1, 1> ] [0.10 colour rgb<0, 1, 1> ] [1.00 colour rgb<0, 0, 1> ] } } normal{ crackle 1 } finish{ specular 1 roughness .001 ambient .25 } scale .24 } #declare WhiteQuilt=texture { pigment { color White } finish { specular 1 roughness .001 ambient .5 } normal { quilted 1 control0 0.5 control1 1 scale 0.45 turbulence 0.5 lambda 0.5 omega 0.707 octaves 4 } } background { color White } //background { color rgb<0,0,.5> } //background { color Black } camera { location<0,0,-140> look_at<0,0,0> up<0,1,0> right<1.33,0,0> //rotate<0,-90,0> } light_source { <-1000,2000,-1000> color rgb <.9, .9, .9> } light_source { <2000,2000,-2000> color rgb <.9, .9, .9> } light_source { <0,0,0> color White } #declare texture_aluminum = texture { pigment { rgb <0.55, 0.5, 0.45> } finish { metallic ambient 0.1 diffuse 0.65 specular 0.85 roughness 0.01 reflection 0.45 //brilliance 1.5 brilliance 2.5 ambient .4 } } #declare FlatWhite=texture { pigment { color White } finish { specular 1.0 roughness .001 ambient .5 } } #declare FlatGray=texture { texture_aluminum /* pigment { color Gray } finish { specular 1.0 roughness .001 ambient .5 } */ } #declare texture_clear_glass = texture { pigment { rgbf <1, 1, 1, .9> } finish { ambient 0.1 diffuse 0 reflection 0.1 //refraction 0.9 brilliance 6 specular 1 roughness 0.0001 ior 1.45 //phong 1 //phong_size 400 irid { .45 } } } #declare Rims=intersection { difference { union { cylinder { <0,100,0>,<0,-100,0>,10 } cylinder { <100,0,0>,<-100,0,0>,10 } cylinder { <0,0,100>,<0,0,-100>,10 } cylinder { <-100,-100,-100>,<100,100,100>,7 } cylinder { <-100,-100,-100>,<100,100,100>,7 rotate<0,90,0> } cylinder { <-100,-100,-100>,<100,100,100>,7 rotate<0,180,0> } cylinder { <-100,-100,-100>,<100,100,100>,7 rotate<0,270,0> } cylinder { <0,-100,-100>,<0,100,100>,7 } cylinder { <0,-100,-100>,<0,100,100>,7 rotate<0,90,0> } cylinder { <0,-100,-100>,<0,100,100>,7 rotate<0,180,0> } cylinder { <0,-100,-100>,<0,100,100>,7 rotate<0,270,0> } cylinder { <-100,0,-100>,<100,0,100>,7 } cylinder { <-100,0,-100>,<100,0,100>,7 rotate<0,90,0> } box { <-3,-100,-100>,<3,100,100> } box { <-100,-3,-100>,<100,3,100> } box { <-100,-100,-3>,<100,100,3> } } sphere { <0,0,0>,28 } } sphere { <0,0,0>,31 } texture { texture_aluminum } //texture { BlueishCrackle } } #declare Shell=difference { sphere { <0,0,0>,30 } sphere { <0,0,0>,29 } cylinder { <0,100,0>,<0,-100,0>,9.5 } cylinder { <100,0,0>,<-100,0,0>,9.5 } cylinder { <0,0,100>,<0,0,-100>,9.5 } cylinder { <-100,-100,-100>,<100,100,100>,6.5 } cylinder { <-100,-100,-100>,<100,100,100>,6.5 rotate<0,90,0> } cylinder { <-100,-100,-100>,<100,100,100>,6.5 rotate<0,180,0> } cylinder { <-100,-100,-100>,<100,100,100>,6.5 rotate<0,270,0> } cylinder { <0,-100,-100>,<0,100,100>,6.5 } cylinder { <0,-100,-100>,<0,100,100>,6.5 rotate<0,90,0> } cylinder { <0,-100,-100>,<0,100,100>,6.5 rotate<0,180,0> } cylinder { <0,-100,-100>,<0,100,100>,6.5 rotate<0,270,0> } cylinder { <-100,0,-100>,<100,0,100>,6.5 } cylinder { <-100,0,-100>,<100,0,100>,6.5 rotate<0,90,0> } box { <-2.5,-100,-100>,<2.5,100,100> } box { <-100,-2.5,-100>,<100,2.5,100> } box { <-100,-100,-2.5>,<100,100,2.5> } //texture { T_BlueRuby_Glass } //texture { FlatWhite } texture { WhiteQuilt scale 4 } } #declare Shell2=difference { sphere { <0,0,0>,31 } sphere { <0,0,0>,30 } cylinder { <0,100,0>,<0,-100,0>,12 } cylinder { <100,0,0>,<-100,0,0>,12 } cylinder { <0,0,100>,<0,0,-100>,12 } cylinder { <-100,-100,-100>,<100,100,100>,9 } cylinder { <-100,-100,-100>,<100,100,100>,9 rotate<0,90,0> } cylinder { <-100,-100,-100>,<100,100,100>,9 rotate<0,180,0> } cylinder { <-100,-100,-100>,<100,100,100>,9 rotate<0,270,0> } cylinder { <0,-100,-100>,<0,100,100>,9 } cylinder { <0,-100,-100>,<0,100,100>,9 rotate<0,90,0> } cylinder { <0,-100,-100>,<0,100,100>,9 rotate<0,180,0> } cylinder { <0,-100,-100>,<0,100,100>,9 rotate<0,270,0> } cylinder { <-100,0,-100>,<100,0,100>,9 } cylinder { <-100,0,-100>,<100,0,100>,9 rotate<0,90,0> } box { <-5,-100,-100>,<5,100,100> } box { <-100,-5,-100>,<100,5,100> } box { <-100,-100,-5>,<100,100,5> } texture { BlueWhiteCrackle scale 10 } //texture { Aluminum } } #declare Rims2=difference { object { Rims } cylinder { <0,100,0>,<0,-100,0>,9 } cylinder { <100,0,0>,<-100,0,0>,9 } cylinder { <0,0,100>,<0,0,-100>,9 } cylinder { <-100,-100,-100>,<100,100,100>,6 } cylinder { <-100,-100,-100>,<100,100,100>,6 rotate<0,90,0> } cylinder { <-100,-100,-100>,<100,100,100>,6 rotate<0,180,0> } cylinder { <-100,-100,-100>,<100,100,100>,6 rotate<0,270,0> } cylinder { <0,-100,-100>,<0,100,100>,6 } cylinder { <0,-100,-100>,<0,100,100>,6 rotate<0,90,0> } cylinder { <0,-100,-100>,<0,100,100>,6 rotate<0,180,0> } cylinder { <0,-100,-100>,<0,100,100>,6 rotate<0,270,0> } cylinder { <-100,0,-100>,<100,0,100>,6 } cylinder { <-100,0,-100>,<100,0,100>,6 rotate<0,90,0> } box { <-2,-100,-100>,<2,100,100> } box { <-100,-2,-100>,<100,2,100> } box { <-100,-100,-2>,<100,100,2> } } #declare LittleRod=union { cylinder { <12,0,0>,<40,0,0>,1 } cone { <40,0,0>,1,<60,0,0>,.001 } cylinder { <29,0,0>,<31,0,0>,2 } cylinder { <11,0,0>,<13,0,0>,2 } texture { texture_aluminum } } #declare Spikes=union { object { LittleRod rotate<0,0,67.5> } object { LittleRod rotate<0,0,22.5> rotate<0,-22.5,0> } object { LittleRod rotate<0,0,22.5> rotate<0,22.5,0> } } #declare Globe=difference { sphere { <0,0,0>,12 } sphere { <0,0,0>,11.5 } texture { texture_clear_glass } //texture { pigment { color Gray filter .9 } } } union { object { Shell rotate<0,45,0> } object { Shell2 rotate<0,45,0> } object { Rims2 rotate<0,45,0> } object { Spikes } object { Spikes rotate<0,90,0> } object { Spikes rotate<0,180,0> } object { Spikes rotate<0,270,0> } object { Spikes rotate<0,0,180> } object { Spikes rotate<0,90,180> } object { Spikes rotate<0,180,180> } object { Spikes rotate<0,270,180> } object { Globe } rotate<0,Angle,0> } //sphere { <0,0,0>,30 texture { BlueWhiteCrackle scale 10 } } //light_source { <0,0,0> color Orange }