Announcement

Collapse
No announcement yet.

Need to render an animation through a farm

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Need to render an animation through a farm

    I have no experience with rendering animations, and the info that i've found on the forum is confusing me.

    I understand the concept of rendering every nth frame in a slow moving architectural fly-through, but i'm not sure how this works when rendering on a farm.

    What would be the procedure? As far as i understand this should be done on a single machine, but what's the point then? Can i set it up somehow so that each machine renders a 10 frame segment (lets say every 5th frame) and then somehow merge the irradiance maps?

    Can i do this through the backburner, for instance using the client to send different 50 frame segments to each node and telling them to save their irradiance maps to a local folder (or just renaming them)?
    Last edited by pailhead; 11-09-2008, 10:26 AM.
    Dusan Bosnjak
    http://www.dusanbosnjak.com/

  • #2
    Every 5th frame is probably overkill, 90% of the animations we do are at every 50th frame, for the other 10% that miss samples we'll either go to a lower nth or just render a couple extra irmaps for the missed areas. I wrote a script' "Imap Control" , a while ago that will save a separate irmap for each frame, with the script you just send it to the queue set to some nth, you can turn of render final image and just save the nth irmaps, then these irmaps can be merged to gether and the full animation rendered using this single file, I have another script "Imap Merger" on my site that makes merging easier.

    http://varcht.net/index.php?option=c...d=13&Itemid=28
    Eric Boer
    Dev

    Comment


    • #3
      Once its done, render at fixed with 2 samples, half res, show GI only to do a quick run through to see if you need more samples at particular frames.

      Comment


      • #4
        First, let me say, \

        many thanks for the script!



        I have tried the script first with a simple scene containing primitives and it worked through the backburner like a charm!

        But, when i tried it with my actuall scene, i seem to have encountered some problems.

        The scene contains a lot of cameras, but the sequences are about 300-400 frames each, and the cameras are moving very slowly. Because i've been rendering every 50th or 75th frame, i ended up with only a few frames per sequence. So, in order not to have my render slaves idle, i've launched two jobs, on 10 machines, to render a total of 13 frames, 5 on one 8 on the other.

        I went through the script, chose a path, named the first imap sequence and launched it through the backburner. Without closing the script, i just changed the path and the name and launched another job through the bb.

        An hour later, some slaves have finished their frames, but i see no iraddiance map files in my designated path. Does this mean that somewhere along the line it failed, or are they stored somewhere only to be copied to the final path after the entire job is done?
        Dusan Bosnjak
        http://www.dusanbosnjak.com/

        Comment


        • #5
          I just took a look to see what might be broken, It's a bug, the type-in does not reset the path, good catch.

          For now if you use the "set path" button to change the path it will be updated and it should work as expected.

          Sorry for the wasted render time, hopefully you'll save enough time with it in the future to make up for it.
          Eric Boer
          Dev

          Comment


          • #6
            I am not sure if i am doing this the right way. I'll describe my workflow:

            I have set up a scene, and i have to render some 6 cameras ranging in sequences from 200 frames to 400.

            With some slow moving cameras, i've set it up to render the irradiance map every 50 or even 75 frames (in case of a very slow camera pan).

            The faster moving cameras, which change angles and sporadically include trees and other stuff in the foreground, i've manually selected frames where it seemed proper to render the irradiance map.


            Now comes the part i'm not sure if i'm doing the right way.

            Using the imap control script i send each sequence to be rendered through the back burner. At 900x506 i am rendering at "high-animation" preset.

            The sizes of the irradiance maps range from 15 megs to 130. Then, i merge the maps manually (i couldnt get the other script to work ) which is a tedious task.

            One such map, in the end had over 600mb, and it took a while to load.

            At this point, i setup the scene to load the imap from c:\ since thats the only drive that my render slaves have, and manually copied the imaps to each slave.

            Now, since it seemed that loading a 600mb imap takes a while, i decided to combine them into sequences. So a imap that i rendered at every 20th frame would be merged into sequences that range from 0-40,40-80,80-120 and so on...

            It is pretty time consuming to merge the imaps and to copy them to slaves (something not set up right network wise), but it did the trick.


            Is this pretty much how it should be done?


            It took me a while to merge all the irradiance maps, copy them to the slaves, and then create back burner jobs for each sequence, because i had to manually type in the imap path for each sequence, choose a number of frames and so on.


            The GI is flicker free though, and irradiance maps calculate on average for about an hour, allowing me to pump up the AA settings a bit.


            But in the end, i had to leave an interior animatic to be rendered on a single machine using incremental add, since there was something wrong with the pre-rendered map which was producing a ton of artifacts.



            If i were to render with "incremental add", compared to the multiframe, would it render as fast?

            For examaple, i have a sequence of 20 frames, and i prerender the first and the last using multiframe incremental, and that takes an hour for each. Incremental add would only render the first one for an hour (with the same settings) but then each next one would render for a fraction of the time summing up to two hours as well?

            What would be the advantage of one over the other. Multiframe incremental seems to work well with the back burner, but i could also break the animation into parts and have them render single slaves using incremental add. Would this then be more prone to flickering and GI artifacts?


            Dusan Bosnjak
            http://www.dusanbosnjak.com/

            Comment


            • #7
              Originally posted by pailhead View Post
              Can i do this through the backburner, for instance using the client to send different 50 frame segments to each node and telling them to save their irradiance maps to a local folder (or just renaming them)?
              I would think saving the irradiance map to remote folder and gather them in one spot. In
              one same machine which you would probably use to handout rendering jobs to the slaves.
              Would probably be a better workflow?
              Studio Max 2009 x64
              X5000 Chipset | Dual Core Intel 5140 | 4G RAM | Nvidia FX3450 drv 6.14.10.9185

              Comment


              • #8
                I somehow feel that this would be failing all the time since huge files are involved?
                Dusan Bosnjak
                http://www.dusanbosnjak.com/

                Comment

                Working...
                X