Director make direcot just generate all fct

Help
2008-11-07
2013-03-19
  • Hi all,

    Love this software =O).

    I'm using director to create a avi, how can i just create the fct files for every frames in that way an can create all the images with clustered computers.
    I was lookin in to the python files but have to ask you guys.

    Many thanks,
    Beppe

     
    • Catenary
      Catenary
      2008-11-08

      Hi,

      There isn't a brilliant way to do this right now, but here's my best suggestion:

      1) in the director dialog, click Edit > Preferences at the top, and tick the checkbox for 'Create temporary .fct files'

      Find the file 'PNGGen.py', open it in a text editor, and change line 276 from

      if not(os.path.exists(self.anim.get_image_filename(sumBefore+i)) and self.create_all_images==False): #check if image already exist

      to

      if False and not(os.path.exists(self.anim.get_image_filename(sumBefore+i)) and self.create_all_images==False): #check if image already exist

      (this disables generating images). Then open your animation and hit Render. You should find all the .fct files in the /tmp directory (or wherever you chose to put them).

      You can then render an individual frame with

      gnofract4d -s frame0000.png -q frame0000.fct

      If you end up with something cool, post it to the Flickr group!

       
    • Hi,

      Yes, i found the last code peace in PNGGen.py and it works very well,
      So, i select the options and saved all the files in /tmp/frac
      after rending all the fct files I change maxiter=8192
      #sed -i 's/^maxiter=[^\n]*$/maxiter=8192/g' /tmp/frac/*.fct

      To generate the images( this is on one computer with quad CPU but one can easily split the files and start the job on multiple computers).
      #for fct in $(ls /tmp/frac/*.fct) ; do gnofract4d --nogui --threads 4 -s ${fct}.png -i 1680 -j 1050 -q ${fct}; done

      which will render all png. (for me ~1 fps)
      From png to avi
      #transcode -z -i /tmp/frac/list -x imlist,null -g 1680x1050 -y ffmpeg,null -F mpeg4 -f 25 -w 3000,25,100 -o /tmp/frac/FracAnime01.avi -H 0 --use_rgb

      I have increase t he bitrate and keyframes to get better quality

      Many thanks,

      ::Beppe

       
      • One correction the list file is not accurate, do in  /tmp/frac
        #ls *.png > list

        And the move is on its way, I have made a 6025 frames move, I'll upload it same ware if any one like to it.
        I notice that the color change doesn't get morph.

        I just like to know it it use gcc to calculate the fractal? if so couldn't we use distcc to get more CPU?

        maybe I'm lost far out in deep fractals,
        ::Beep

         
        • Catenary
          Catenary
          2008-11-08

          Well, I'd be interested to see the movie.

          There are 3 steps:
          1) Gnofract 4D takes the formula you're using (like z = z*z + #pixel) and translates that into C.
          2) Then we use gcc to translate that into binary code for your computer
          3)  Then we run that code to generate the fractal.

          Step #3 (running the code) is the one which takes the most time, and distcc would only speed up step #2, so that probably wouldn't help a whole lot.

          If you have multiple computers, the simplest way to take advantage of them is to copy some of the .fct files to each computer then generate the .pngs there, before assembling them all on the same computer to create the final movie.