#include "colors.inc" #include "math.inc" global_settings { ambient_light 1 } camera { location <0, 0, -2> look_at <0,0,0> } light_source { <-10, 6, -10>, 1 } light_source { <10, 5, -20>, 1 } #declare plastic = finish { specular 1 roughness 0.002 reflection { 0.01, 0.12 } diffuse 0.6 ambient 0 } #declare filename = concat("input/light", str(mod(frame_number,301),0,0), ".tga"); box { <0, 0, 0> <1, 1, 1> texture { pigment { image_map { tga filename map_type 0 interpolate 2 } } finish { diffuse 0 ambient 1 } } scale <5.4, 4, 1> translate <-2.7, -2, 2> } #declare balloon_size = 0.35; #declare balloon = union { intersection { sphere { <0, 0, 0> balloon_size } box { <-balloon_size-0.001, -0.001, -balloon_size-0.001> } } intersection { sphere { <0, 0, 0> balloon_size } box { <-balloon_size-0.001, -balloon_size-0.001, -balloon_size-0.001> } scale <1, 1.5, 1> } cone { <0, -balloon_size*1.5-0.1, 0>, 0.12 <0, -balloon_size*1.5+0.1, 0>, 0.06 } } #macro timmy_balloon(in_color) object { balloon texture { pigment { in_color } finish { plastic } } texture { pigment { image_map { tga "Timmy.tga" map_type 0 interpolate 2 } } scale <1.5, 1.8, 1> translate <-.75, -.97, 0> finish { plastic } } } #end #declare start_array = array[9]; #declare amplitude_array = array[9] {1.5,1,1.2,0.7,0.3,0.5,0.4,1.7,1.3}; #declare period_array = array[9] {2,4,2,3,0.5,2,3,0.5,2}; #declare rotation_array = array[9] {-4,4.5,9,-9,8,-7,4.5,-5,-8}; #declare rock_angle_array = array[9] {5,4,5,2,3,6,10,4,5}; #declare rock_speed_array = array[9] {9,6,12,8,4,5,10,5,6}; #declare start_array[0] = <-1, -3, 0>; #declare start_array[1] = <1, -5, 0>; #declare start_array[2] = <0.5, -7.5, 0>; #declare start_array[3] = <0, -10, 0>; #declare start_array[4] = <-0.8, -11, 0>; #declare start_array[5] = <0, -13, 0>; #declare start_array[6] = <0.5, -15, 0>; #declare start_array[7] = <-0.7, -18, 0>; #declare start_array[8] = <1.5, -20, 0>; #declare color_array = array[9] { Blue, VioletRed, Yellow, Green, Orange, SpicyPink, Red, SkyBlue, SeaGreen }; #declare i=0; #while (i<9) #declare pos = start_array[i]; #declare pos = pos + y*clock*23; #if (pos.y > -2.2 & pos.y < 2.2) #declare pos = pos + x*sind(clock*360*period_array[i])*amplitude_array[i]; object { timmy_balloon(color_array[i]) rotate y*clock*360*rotation_array[i] rotate x*sind(clock*360*rock_speed_array[i])*rock_angle_array[i] translate pos } #end #declare i=i+1; #end