#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 max_bubbles = 100; #declare R = seed(0); #declare mytex = texture { T_Chrome_5C } #macro bubble( drum_repeat, 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_repeat, drum_radius, bubble_radius ) object { union { #local i = 0; #while ( i < ( max_bubbles * ( 360 / drum_repeat ) ) ) #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 ) ); bubble( drum_repeat, bx, by, bz, ( rand(R) * bubble_radius ) ) #declare i = i + 1; #end } rotate x * ( 360 / drum_repeat ) * ( clock + bubble_radius ) } #end camera { location < 0, 0, -2100 > look_at < 0, 0, -2000 > } light_source { < -200, 200, -2200 > color White shadowless } plane { -z, 1900 texture { pigment { color rgb < 0, 1, 1 > } } } union { drum( 36, 2000, 1.0 ) drum( 45, 1990, 0.9 ) drum( 60, 1980, 0.8 ) drum( 72, 1970, 0.7 ) drum( 90, 1960, 0.6 ) drum( 120, 1950, 0.5 ) texture { mytex } }