#include "colors.inc" #include "textures.inc" #include "metals.inc" #include "Entrust\EntrustLogo.inc" global_settings { assumed_gamma 2.2 } global_settings { ambient_light rgb< 3, 3, 3 > } // settings #declare drum_length = 100; #declare drum_repeat = 120; #declare max_bubbles = 300; #declare R = seed(0); //#declare mytex = texture { pigment { color rgb < 1, 0, 0 > } } #declare mytex = texture { T_Chrome_5C } #macro point( xx, yy, zz, rr ) #local j = 0; #while ( j < drum_repeat ) object { sphere { < xx, yy, zz > rr } rotate x * j * ( 360 / drum_repeat ) } #declare j = j + 1; #end #end #macro drum( drum_radius ) #local i = 0; #while ( i < max_bubbles ) #declare bx = ( rand(R) * drum_length * 2 ) - drum_length; #declare by = ( rand(R) * drum_radius * 2 ) - drum_radius; #declare bz = sqrt( ( drum_radius * drum_radius ) - ( by * by ) ); point( bx, by, bz, rand(R) / 1 ) #declare i = i + 1; #end #end camera { location < 0, 0, -3000 > look_at < 0, 0, -2000 > angle 10 } light_source { < -200, 200, -2200 > color White shadowless } plane { -z, 1950 texture { pigment { color rgb < 0, 1, 1 > } } } object { union { drum( 2000 ) } texture { mytex } rotate x * ( 360 / drum_repeat ) * clock } object { union { drum( 1990 ) } texture { mytex } rotate x * ( 720 / drum_repeat ) * ( clock + 0.2 ) } object { union { drum( 1980 ) } texture { mytex } rotate x * ( 1080 / drum_repeat ) * ( clock + 0.4 ) }