Both sides previous revisionPrevious revisionNext revision | Previous revision |
faculty:slator:onaslant_render [2017/01/15 06:49] – [Byobu] ghokanso | faculty:slator:onaslant_render [2017/01/15 06:52] (current) – [Where do the images go?] ghokanso |
---|
This'll just copy over files that have changed, so it should be quick (a few minutes). Be aware of any messages in red, as they're warnings, and are probably worth reading. | This'll just copy over files that have changed, so it should be quick (a few minutes). Be aware of any messages in red, as they're warnings, and are probably worth reading. |
| |
| ==== Setting up a Render Job ==== |
| |
| The main script that runs render jobs is named 'dispatch.perl'. There are a few different types of jobs worth running. To change the job, simply open up this file and comment/uncomment out the parts you want (I'm serious, I wasn't expecting other humans to render :( ). To edit this file, type: |
| |
| <code>nano dispatch.perl</code> |
| |
| There's a lot there, but the main part you should be interested in is the two variables named '$camera' and '$theMB' (for the Maya Binary). For example |
| |
| <code> |
| #my $camera = "lodge_left"; # Village |
| #my $camera = "camera10"; # Village |
| #my $theMB = "Village.mb"; |
| |
| #my $camera = "lodge_left"; # Ending |
| #my $theMB = "Ending.mb"; |
| |
| #my $camera = "camera4"; # New Ending |
| #my $theMB = "Ending.mb"; |
| |
| my $camera = "camera4"; # River to Palisade |
| my $theMB = "World.mb"; |
| |
| #my $theMB = "slant_interior_20100623/atl_fal_lodge_inter_v33_Updated_20100624.mb"; # Interior |
| #my $camera = "left"; |
| |
| #my $theMB = "dragonfly_original.mb"; |
| #my $camera = "leftCamera"; |
| </code> |
| |
| The above configuration will render the World.mb file with the camera being 'camera4', since those are the two that are not commented out. If you wish to render the ending frames, you'd comment out the World.mb and 'camera4' and uncomment 'lodge_left' and 'Ending.mb'. |
| |
| In general, that's all you need to edit in that file. Everything below deals with updating the database and communicating with the nodes. |
| |
| Now to actually render some frames, you need to specify which frames to render. The frame numbers to render are defined in 'gap.list'. Of course, manually typing out each frame number is a hassle, so you can use a command to do that, too. |
| |
| <code>seq 500 1000 > gap.list</code> |
| |
| This will print the numbers between 500 and 1000 (inclusive) into the gap.list file. |
| |
| Now, finally, let's render. |
| |
| <code>perl dispatch.perl JOB_NAME</code> |
| |
| This will begin dispatching frames to the nodes. Job name is completely up to you, it's just a name in the database and filesystem to keep jobs straight. I've used the naming scheme r###-name, where ### is the SVN revision number, and name is some descriptive name that'll tell me what's going on. For example, earlier I ran... |
| |
| <code>perl dispatch.perl r263_test1</code> |
| |
| as I was testing the scripts to make sure they work. Other examples are 'r254-world' as this was the world model at that revision. |
| |
| At this point, frames will be dispatched to each node. Once a node is complete, it will request another frame. It will continue requesting frames until there are no more frames to request. |
| |
| ==== Retriving the Frames ==== |
| |
| A completely seperate daemon is responsible for retrieiving the frames. Located in /opt/maya-daemon/bin, this script is simply named 'take.perl'. This is much simplier, it just queries the database automatically to see if any jobs have completed, and if so, grabs the image and the log. |
| |
| ==== Where do the images go? ==== |
| |
| The images themself are dumped into /mnt/pngs under their respective job name. There are two directories, one named JOB_NAME and another named JOB_NAME-water. The second one is the one with the framenumbers in the corner. Which is handy. |
| |
| ==== How do I make a video? ==== |
| |
| Also in /opt/maya-daemon/bin, you'll find a script named 'mencoder.bash'. This simply takes one argument (the job name) and makes a video of those frames. The resulting file is dumped into /tmp/. For example: |
| |
| <code>bash mencoder.bash r263_test1</code> |
| |
| will make a video of the frames I rendered while writing this tutorial. You can then transfer that file to your local computer, or in a web directory so others can download and view it. |