Back ] Home ] Up ]


The Making of "Four Seasons in One Day"

Rendering

At the time I started this project TerraTweak was not able to integrate rendering with animation scripts, and Terragen would not load new world files while executing a script. I noticed that TerraTweak used a temporary script, world file and bath command to render frames individually so I looked at the syntax of these to see if it could be adapted to running an entire script with individual world files for each frame.

The syntax for the command line is relatively straight forward.

c:\path_to_terragen\terragen.exe -hide -exit /w "c:\path_to_tgw\world.tgw" /s "c:\path_to_script\script.tgs" n /t "c:\path_to_terain\terrain.ter"

Where "n" is the frame number of the script to render. All I had to do was write a batch file to run each morphed TGW with the appropriate animation script frame.

Like all "proof of concept" ideas, the first thing is to show that something is possible... the next is to make it practical. Since I had 12 different sets of morphed TGWs and 4,500 frames I wasn't going to sit down and manually type each command line. Automating this wasn't going to be exactly straightforward so I decided on my favourite code creation tool.... Filemaker Pro. Each parameter was entered as a global field, including the list of prefixes used for the morphed TGWs and the start and end frame for each group.  Calculations then construct the appropriate command line.  Since I had access to other computers to help render the animation I also designed a few different methods of splitting up the records into groups for rendering on different machines. These include:

  • A progressive render.
    Rendering every 1024th frame, then every 512th etc... thus allowing the complete sequence to be viewed with successively greater frame rates as the render progressed.
  • An even split
    Rendering every n'th frame to split the render evenly over n computers, providing a fast acquisition of frames from the start of the animation
  • A manual frame selection for frames that got skipped/screwed up in transfer.

Frames could also be sorted to render in sequence or in reverse order.

Being able to manipulate the list in this way turned out to be quite useful as the machines I was rendering on all had different specs. Thus when the fastest machine had finished, I sent it the batch file from the slowest machine (sorted in reverse) to fill in the remaining gaps while the render proceeded.

I added a "time /T" command between each frame to give me an indication of the processing times at a glance.

Terratweak now supports TGS scripts, but until it supports multiple morphs I'll continue with FMPro.


Back ] Home ] Up ]


This page, its contents and style, are the responsibility of the author and do not represent the views, policies or opinions of The University of Melbourne. All photographs © Ben Kreunen 2000

Ben Kreunen <bernardk@unimelb.edu.au>
Department of Pathology
Last modified: 13-Aug-2003