Announcement

Collapse
No announcement yet.

Best approache for flythrough animation on a renderfarm

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

  • Best approache for flythrough animation on a renderfarm

    Hi

    I'm currently playing around with flythrough animations due to an unbusy renderfarm. The scene is quite heavy polygon wise - an interiorscene with a highly detailed multiscatter carpet.

    I've been searching around the web and reading a bunch of tutorials, both on extern sites and Spot3d, but can't seem to make sense of it all.

    Since Brute force is too heavy on rendertime, i'm trying the IRR Map (first) / Light Cache (second) approach, which is my normal workflow for high-end stills.

    First scenario:
    A static scene with a camera flythrough. Slowly zoom and some rotation.

    My approach is to bake the light in a single Light cache and a single Irradiance map file.

    1. I'm baking out the light with Light Cache set for primary and secondary bounches and saving it to a file with the option 'Don't render final image' on. I used 'use camera path' and renderet a single frame.
    - What is the difference between the 'use camera path' option and the 'fly-through' mode?
    - Should I use 'Single frame' for both options and have my timeline at the first frame?

    2. Baking the Irradiance map. Primary bounches Irradiance Map and secondary bounches is Light Cache.
    The Irradiance Map is using the preset 'High - Animation' and the mode is set to 'Multiframe incremental' I render everth 10'th frame for 'Active Time Segment' with the option 'Don't render final image' on
    - Is it possible to submit the different frames to difference machines using backburner? Will it use previous information from the other machines and add it to the same map?
    - Is the information from the Light Cache baked into the Irradiance map?
    - If the answer to the above question is yes - is it possible to add Light Cache information to the map afterwards?
    - The Irradiance map also have an 'Use Camera Path' Option. Will I have to set the Irradiance map settings extremly high to get the same information as in 'Multiframe incremental' or what's the deal with this option???

    3. Rendering. I'm setting the Irradiance map to 'from file' and setting the secondary bounch to none.
    - I've tried the above workflow, but rendering both the Light Cache and the Irradiance map on a single machine. Since I have access to a lot of machines during the Holiday, it would be great to use all the machines. Also I got some errors during the first 100 frames (out of 500). Not flickering - more like huge single splotches and some areas with strange lighting. Could I've have been at frame 100, when I baked the Light Cache or does it use alle the added frames, when the 'Use Camera Path' is on?


    Second scenario:
    A static scene, with a timelapse light cycle (daylight to nighttime).

    I haven't tried this yet, but I'm thinking of going with the following:

    Primary bounch set to Irradiance Map and Secondary set to Light Cache. Irradiance Map mode set to Animation (prepass) and then saving out an Irradiance map for every frame.
    - Is the Light Cache baked into the Irradiance map here or should I only render out the Animation prepass'es and then render the Light Cache on-the-fly, during the render phase?


    Thanks in advance
    // Poul

  • #2
    Here's two examples from one of the frames regarding the render issues. The huge splotches and strange colorbleeding. They are not flickering, but the same through alle the frames.
    Click image for larger version

Name:	example_1.jpg
Views:	1
Size:	47.3 KB
ID:	846589Click image for larger version

Name:	example_2.jpg
Views:	1
Size:	26.5 KB
ID:	846590

    Comment


    • #3
      If iam correct the Camera Path option is for moving objects, but i could be wrong. When you submit the Irridiance map, you could split the irr maps to sequences. Like computer 1 does 0-100 computer 2 does 101-200..... Before rendering the final animation use the Irr Merger Progy that comes with vray. However when you are having moving objects besides the camera, that approach wouldn't work. I quickly tried your last idea. It gives out funky colors
      Last edited by k-arts; 03-01-2013, 04:13 AM.

      Comment


      • #4
        Thanks for the answer. I guess thats one of the things that went wrong, since i submittet the entire light baking sequence with every 10th frame to the entire renderfarm with the 'Multiframe incremental' option on. It seems it cannot merge the frames correctly.

        I kind of found a way to fix it. It seems the Light Cache is baked into the Irradiance map, as long as it does not contain the 'Use light cache for glossy rays' which is what i found out for sure reading a tons of forum answers

        I just rendered a few of the first 150 frames with the 'Multiframe incremental' on and calculate a new light cache in 'Single frame' mode, without the 'Use camera path' option on, so it was added to the already existing irradiance map file. It went for about 500 mb to almost 900 mb, just by adding 5 frames that way.

        So my guess is, that you cannot submit the light baking process to the entire farm in one step, other than using your method by splitting up sequences of the animation to different machines and merging them afterwards.

        This raises another question. When the irradiance map when to 900 mb it takes forever for the slaves to start rendering. I tested it last night, and it took almost 3-4 hours for the first frame to start rendering, afterwards it renders the frames in 30 minutes or so. It does not run out of memory and the irradiance map is saved to a fileserver on the local network that I save all my files to. If I try to render locally with the exactly same settings, it starts to render a once???

        Anyone else that are having this problem?

        Comment


        • #5
          Hello Iceman

          Here are the answers of your questions:

          What is the difference between the 'use camera path' option and the 'fly-through' mode?

          Both options are doing the same thing - the algorithms are slightly different - but in general they should produce very similar result if you are rendering Fly-Throught animations.
          The difference is when you have animation with moving objects - and you have to calculate Light Cache for every frame - in this case Fly-Through Mode cannot be used because it will calculate LC only for the fist frame of your animation - not for every frame.

          - Should I use 'Single frame' for both options and have my timeline at the first frame?

          You can use Single Frame + Use Camera Path - and to calculate your animation for the first frame , or you can use Fly-Through without Use Camera Path.

          Is it possible to submit the different frames to difference machines using backburner? Will it use previous information from the other machines and add it to the same map?

          Yes it is possible to send different frames to different machines, but the Irradiance Map information won't merge into a single file - you have to do it manually with Irradiance Map Viewer.

          - Is the information from the Light Cache baked into the Irradiance map?

          Yes LC information is backed into Irradiance Map - you can turn LC off during the final rendering - and load only IM from file.

          - If the answer to the above question is yes - is it possible to add Light Cache information to the map afterwards?

          Could you please be more specific about this question ? Light Cache is backed into Irradiance Map during its calculation - it is not possible to add it manually after both calculations are already finished.

          - The Irradiance map also have an 'Use Camera Path' Option. Will I have to set the Irradiance map settings extremly high to get the same information as in 'Multiframe incremental' or what's the deal with this option???

          In fly-thought animation you should use higher samples if you decide to use "Use camera path". For example if you are using Multiframe Incremental mode for every 10th frame of animations with 100 frame and you have 50 subdivisions in Irradiance Map - and the end you will have a file with - 500 subdivisioins (10 frames multiplied by 50 subdivisions) - in order to get the same samples while "Use camera path" is on and you are calculating Irradiance Map only at the fist frame of your animation you should add 500 subdivisions in Irradiance Map parameters.
          - I've tried the above workflow, but rendering both the Light Cache and the Irradiance map on a single machine. Since I have access to a lot of machines during the Holiday, it would be great to use all the machines. Also I got some errors during the first 100 frames (out of 500). Not flickering - more like huge single splotches and some areas with strange lighting. Could I've have been at frame 100, when I baked the Light Cache or does it use alle the added frames, when the 'Use Camera Path' is on?

          Yes you can use a render farm to calculate the final animation - you can use Vray Distributed Rendering or Backburner.
          About the area with "strange lighting" - this usually happens if IM with multiframe mode is used , and the problematic frame is not seen by any "IM frame" - the easiest way to fix it is just to render a new Irradiance Map for this frame - and merge it with already existing one.

          Second scenario:
          Primary bounch set to Irradiance Map and Secondary set to Light Cache. Irradiance Map mode set to Animation (prepass) and then saving out an Irradiance map for every frame.
          - Is the Light Cache baked into the Irradiance map here or should I only render out the Animation prepass'es and then render the Light Cache on-the-fly, during the render phase?


          The correct workflow is to calculate LC first , and then to calculate IM with LC from file or - to calculate both on a single pass.
          I don't think that the result will be correct if you are calculate IM first and then to calculate LC - because IM needs secondary bounce information during calculation stage.
          Svetlozar Draganov | Senior Manager 3D Support | contact us
          Chaos & Enscape & Cylindo are now one!

          Comment


          • #6
            What i would try to do to lower those loading times, is to copy the irr map to every c:\ drive on the renderslave. I used this once with a self made copy.bat. Just google it and execute it on each renderslave. Maybe try it first on one slave When you have loads of slaves, accessing the same 900mb file, the network will eventually choke. Be sure to point he Irrmap to c:\ in your max file before sending it to backburner.

            Comment


            • #7
              @ Svetlozar Draganov

              Thanks for the answers. Great with some better understanding of the settings. Normally I work with vray and stills, so I'm kinda green on the animation part

              You should add the section about calculating the number of subdivisions in the Irradiance map to spot3d

              I ended up using a single machine to bake the lighting - mostly because the entire renderfarm wasn't free anymore. But now i know the workflow for using more than one machine. Instead of baking the light cache for the entire animation, I ended up baking it for every 10th frame while calculation the irradiance map (set to single frame mode). Since the resolution for this animation only is 720p, the lightcache only takes 2-3 minutes per frame while set to 1500 subdivistions, so instead of using an hour to bake the entire light cache with the subdivision set to 6000 the timeframe would be the same. It seems to work ok - it's a slow camera animation with a slight roll

              Are there any disadvantage using this workflow kontra baking the entire light cache?

              @k-arts
              Your method worked perfekt. No more slowing down before rendering.

              Yesterday I submittet 500 frames to 20 slaves through backburner, and this morning almost all the machines stalled. A single machine had rendered 6 frames. The first frame took 8 hours and afterwards the rest took an hour or so per frame. So I tried to copy the Irradiance map file to c:\temp on the slaves and changed the loading path in the Max file to c:\temp. Whoop - all the machines started to render the frames after only 3 minutes of loading time in the first frame. The strange thing is, that it took less than 3 minutes to copy the irradiance file from the server to the machines locally. It must be some bug in vray, that slows things down - a bit annoying, but great with a workaround.

              Comment


              • #8
                Originally posted by *Iceman View Post
                Are there any disadvantage using this workflow kontra baking the entire light cache?
                If Irradiance Map is set to "multiframe incremental" or "add to current" map - and you are calculating every 10th frame with LC set to "single" frame - everything should work correctly.

                About slow IM and LC loading at the beginning of the rendering:
                Depending on the size of the project - size of the textures , proxies , backed GI , number of the machines used in DR and also from the speed of the network and Hard Drives sometimes it takes quite a lot of time to load everything in memory and start rendering. The slowdown occurs because all render nodes are trying to access the files from a single server at the same time - for larger projects it is better to copy not only GI into local drive but the whole project.
                Svetlozar Draganov | Senior Manager 3D Support | contact us
                Chaos & Enscape & Cylindo are now one!

                Comment

                Working...
                X