Hi guys.
Well, I came across something astounding (at least astounding to myself) and I thought I would share it in case it hasn't already come up.
As you may or may not know, MAX6 claimed to support distributed scanline rendering. At least this was what the Discreet guys told us last time they came by. So I took a look to try and find it and I realized it was located in the "Network Job Assignment" window, as "Split scanlines".
So I decided to test it out with a plane and a teapot and scanline render at 4000x3000. I distributed it over 4 machines and it rendered perfectly, each machine rendering a strip of the entire large image at a time. As they did, each strip was saved to the output directory and then when all the strips were finished rendering, they were pieced together automatically.
The next thing I did was switch to the VRay renderer and tried the same test. No GI, just the plane with the teapot.
Result: It worked like a charm. The buckets rendered each strip and it was then pieced together at the end with NO artifacts between the strips.
Then I tested it with GI direct computation 'single frame' as well as GI direct computation 'bucket mode'.
Result: Again, both high resolution images rendered perfectly fine with full GI, with no artifacting between the strips, all distributed between the four machines!
For my final test, I tried the same scene with irradiance map calculation. As I had feared, each strip does the GI prepass for the entire image, and then rendered the strip. Once the strip was finished and would start the next one, the GI prepass was calculated again for the whole image and then that next strip would render. So although it could distribute the image among the four machines, each machine had to calculate the entire image GI prepass making this method inefficient. So I figured, why not pre-generate the GI map, save it on the network drive and then have the machines distribute the frame, using a presaved irradiance map?
Result: Each strip starts on each box, instantly loading the presaved irradiance map, and going straight into the rendering which it accomplishes again, in almost not time, and perfectly well!
So basically, it looks like the integrated 3dsmax6 distributed rendering feature is pretty much fully functional with VRay (using GI or no GI) and (theoretically) with any other renderer. I'm still amazed from this exciting find and I'm going to continue doing more tests. I'll let you guys know if I encounter any problems.
-Richard
Well, I came across something astounding (at least astounding to myself) and I thought I would share it in case it hasn't already come up.
As you may or may not know, MAX6 claimed to support distributed scanline rendering. At least this was what the Discreet guys told us last time they came by. So I took a look to try and find it and I realized it was located in the "Network Job Assignment" window, as "Split scanlines".
So I decided to test it out with a plane and a teapot and scanline render at 4000x3000. I distributed it over 4 machines and it rendered perfectly, each machine rendering a strip of the entire large image at a time. As they did, each strip was saved to the output directory and then when all the strips were finished rendering, they were pieced together automatically.
The next thing I did was switch to the VRay renderer and tried the same test. No GI, just the plane with the teapot.
Result: It worked like a charm. The buckets rendered each strip and it was then pieced together at the end with NO artifacts between the strips.
Then I tested it with GI direct computation 'single frame' as well as GI direct computation 'bucket mode'.
Result: Again, both high resolution images rendered perfectly fine with full GI, with no artifacting between the strips, all distributed between the four machines!
For my final test, I tried the same scene with irradiance map calculation. As I had feared, each strip does the GI prepass for the entire image, and then rendered the strip. Once the strip was finished and would start the next one, the GI prepass was calculated again for the whole image and then that next strip would render. So although it could distribute the image among the four machines, each machine had to calculate the entire image GI prepass making this method inefficient. So I figured, why not pre-generate the GI map, save it on the network drive and then have the machines distribute the frame, using a presaved irradiance map?
Result: Each strip starts on each box, instantly loading the presaved irradiance map, and going straight into the rendering which it accomplishes again, in almost not time, and perfectly well!
So basically, it looks like the integrated 3dsmax6 distributed rendering feature is pretty much fully functional with VRay (using GI or no GI) and (theoretically) with any other renderer. I'm still amazed from this exciting find and I'm going to continue doing more tests. I'll let you guys know if I encounter any problems.
-Richard
Comment