F R E D I U V D CurrentTime StartTime EnvCloud TaraiObject top middle bottom t1 t2 dx dy r2 ly ty p I CurrentFrame TaraiObjectList TextureObject curve i j x y cx cy nx ny const_list U TextureImage D ConvertRange D sx D input1 D sy D output1 D value R output1 sy value sx input1 sx sy I ModulusRange D value R i I value i i D RandomNumber D sx D sy R ConvertRange sx sy V SetCloudPixel I sx I sy D value j sx sx sy sy EnvCloud sy sx value V SubDivideCloud I sx D sy F sx sy sx F y y y ny ny cy y sx sx F x x x nx nx cx x sx sx SetCloudPixel cx cy EnvCloud y x EnvCloud y nx EnvCloud ny x EnvCloud ny nx SetCloudPixel cx y EnvCloud y x EnvCloud y nx EnvCloud cy cx SetCloudPixel x cy EnvCloud y x EnvCloud cy cx EnvCloud ny x SetCloudPixel nx cy EnvCloud y nx EnvCloud cy cx EnvCloud ny nx SetCloudPixel cx ny EnvCloud cy cx EnvCloud ny x EnvCloud ny nx SetCloudPixel cx y EnvCloud y cx RandomNumber sy sy SetCloudPixel x cy EnvCloud cy x RandomNumber sy sy SetCloudPixel cx cy EnvCloud cy cx RandomNumber sy sy SetCloudPixel nx cy EnvCloud cy nx RandomNumber sy sy SetCloudPixel cx ny EnvCloud ny cx RandomNumber sy sy V SetGradient D sx D sy D value F i i i TextureImage y x i U ConvertRange sx i sy i value V SetTexturePixel V ty t1 SetGradient middle top ConvertRange t1 ty E ty t2 F i i i TextureImage y x i U middle i E SetGradient bottom middle ConvertRange t2 ty V GenerateNewKeyframe V F j j j TaraiObject i j TaraiObject i j TaraiObject i j F TaraiObject i RandomNumber TaraiObject i TaraiObject i TaraiObject i I RandomNumber F j j TaraiObject i j RandomNumber j I TaraiObject i TaraiObject i j j V UpdateClock V sx sx CurrentTime sx sx CurrentFrame V Render V UpdateClock x y dx dy x y dx x D y E dy y D x x y dx dx dy dy F i i i F j j j TaraiObject i j ConvertRange TaraiObject i TaraiObject i TaraiObject i j TaraiObject i j CurrentTime TaraiObject i CurrentTime CurrentTime TaraiObject i GenerateNewKeyframe TaraiObject i TaraiObject i TaraiObject i F j j j TaraiObject i j j j j TaraiObjectList V Animate V V Reshape I sx I y Animate V Quit U value I sx I sy CurrentTime StartTime CurrentFrame CurrentTime V Vertex I sx curve sx p curve sx curve sx p curve sx p curve sx curve sx p I I sx sy sx sy Render Animate Reshape Quit UpdateClock I CurrentTime TaraiObjectList TaraiObjectList dx F i i i F j j p j dx Vertex i Vertex i const_list F i i Vertex p i dx const_list F i y i Vertex p i dx sx F y sx y F x i j x sx x EnvCloud y x F i i EnvCloud I RandomNumber I RandomNumber RandomNumber SubDivideCloud F i i sx i EnvCloud sx i EnvCloud i EnvCloud i sx EnvCloud i j SubDivideCloud sx F y y sx y F x x sx EnvCloud y x sx F y y sx y dy ConvertRange y F x x sx x dx ConvertRange x r2 dx dx dy dy ly dx dx dy ly ty SetTexturePixel E dy ly ty SetTexturePixel E r2 ty dy r2 ty ty SetTexturePixel r2 p EnvCloud ModulusRange dx r2 ModulusRange dy r2 F i i i TextureImage y x i U j I TextureImage y x i I p j TextureObject const_list TextureObject F i i const_list i F const_list const_list sx sx const_list TextureImage i const_list i F i const_list const_list i const_list StartTime CurrentTime F i CurrentFrame i i F j j TaraiObject i j RandomNumber TaraiObject i TaraiObject i CurrentTime GenerateNewKeyframe R