Noice over Team Render

Noice over Team Render

mckenzie2VER2
Advocate Advocate
2,157 Views
24 Replies
Message 1 of 25

Noice over Team Render

mckenzie2VER2
Advocate
Advocate

How do I setup Team Render to use Arnold Noice? It’s for a still image, not animation.

0 Likes
Accepted solutions (1)
2,158 Views
24 Replies
Replies (24)
Message 2 of 25

Stephen.Blair
Community Manager
Community Manager

You can use the imager. Although that will mean rendering the whole frame on a single node (because an imager is a type of Arnold driver).

noice itself is a separate executable, and as far as I know, you cannot use TeamRender to run arbitrary executables, you have to render through Cinema 4D



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 3 of 25

mckenzie2VER2
Advocate
Advocate

So if you're using multiple nodes to render say for an animation, how is that de-noised? So for a still I have to render with enough samples to not need noice if I want to use multiple nodes?

0 Likes
Message 4 of 25

Stephen.Blair
Community Manager
Community Manager

@mckenzie2VER2 wrote:

So if you're using multiple nodes to render say for an animation, how is that de-noised? So for a still I have to render with enough samples to not need noice if I want to use multiple nodes?


You can run noice, just not through TeamRender. 

 

Or you can use OIDN or Optix denoisers. Give OIDN a try.



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 5 of 25

mckenzie2VER2
Advocate
Advocate

Well how do I do that? I'd made a driver to save an exr with the aov's but I got a message saying I couldn't do that either with Team Render.

 

I'm on a Mac so I can't use Optix.

0 Likes
Message 6 of 25

thiago.ize
Autodesk
Autodesk

Have you tried using the Intel denoiser (I think we might expose it as OIDN). It's an imager and gives good results without needing to tweak any settings.

0 Likes
Message 7 of 25

mckenzie2VER2
Advocate
Advocate

I use that for LookDev, but was looking for a solution where I could utilize another node and de-noise afterwards.

0 Likes
Message 8 of 25

peter_horvath
Autodesk
Autodesk
  • Imagers can be used in Team Render if you render animation. You don't need to add any custom drivers, the default display driver is what you need. Note, that this is only for animation, single frame Team Render does not work, because in that case each client renders only a part of the image, yet the imagers require the full frame to be able to work properly.
  • The noice executable is more complicated. You need an Arnold EXR driver, which will output the undenoised image on the client machine. Therefore you either want to set the driver output to a shared drive, or collect the images manually after the render. Then you have to run the noice executable on the collected undenoised images. Again, single frame Team Render won't work, because the driver will output only parts of the image.

// Peter Horvath
// C4DtoA developer
0 Likes
Message 9 of 25

mckenzie2VER2
Advocate
Advocate

So in short Arnold can't de-noise a single image over Team Render. You can denoise an animation but even then each node is just working on it's own single frame correct?

 

Not sure if this is a limitation of Team Render or not, but V-Ray's distributed rendering shows it's possible. Once activated, it will use multiple nodes to de-noise straight to the V-Ray VFB, and nodes will contributed even during regular LookDev. 

0 Likes
Message 10 of 25

peter_horvath
Autodesk
Autodesk
Accepted solution

@mckenzie2VER2 wrote:

So in short Arnold can't de-noise a single image over Team Render. You can denoise an animation but even then each node is just working on it's own single frame correct?

Yes, that's correct.


// Peter Horvath
// C4DtoA developer
0 Likes
Message 11 of 25

mckenzie2VER2
Advocate
Advocate

Not ideal, but I'll accept the solution. Be great if you could change this going forward.

0 Likes
Message 12 of 25

jai.ceresoli
Explorer
Explorer

But what if you're using Team Render to render a single frame and you're only using that remote computer, not your local one? Then they're not splitting the workload on one image, so that should be doable, but it's not - I've tried. Surely that can be implemented? Because I often am designing on my iMac and use my remote PC with a more powerful CPU to do the renders via Team Render and I can continue to work on my iMac because its CPU isn't being taxed. So in this situation, the remote client IS rendering the full frame on its own. Can this be implemented, please?


0 Likes
Message 13 of 25

peter_horvath
Autodesk
Autodesk

Single frame and animation Team Render are different in terms of distribution and code path. In single frame render, buckets are distributed across remotes, while in animation, entire frames are distributed. Even if you are rendering on one remote machine, that machine renders individual buckets and sends them back to the server. It does not have the full image, which is needed to run the denoiser imagers. Ideally the server should run the imagers on the full frame once all clients are done, but that is currently technically not possible in Arnold, as imagers are tied to the render process. So it's still a limitation in single frame Team Render I'm afraid even if you are rendering on one remote.

A workaround could be to render two frames instead of one, so make it an animation render. But of course it doubles the work on the remote.


// Peter Horvath
// C4DtoA developer
Message 14 of 25

jai.ceresoli
Explorer
Explorer

Ok thanks for clarifying that Peter. I look forward to a day, whether the innovation needs to come from Arnold's side or C4D's side, when we can Team Render single frames with imagers and also can Team Render with denoising more effortlessly.
 

Maybe you could also clarify for me then (because it was touched on above, but I'm still unclear) - if I want/need to Team Render an animation and I want to denoise with noice afterwards, what would I have to do? Because I tried that on a previous version of Arnold and it didn't work, but user error is possible.

0 Likes
Message 15 of 25

peter_horvath
Autodesk
Autodesk

You mean using the noice command line tool to denoise an animation, instead of using the imager?

  1. Create a special EXR driver from the menu: Arnold > Arnold Driver > EXR driver for Arnold denoiser
  2. Render the animation
  3. Go to the Denoiser tab of the Arnold render settings
  4. Set your animation as the input, setup the parameters and click Denoise

Now again, with Team Render it's not trivial, because drivers are executed as part of the render on the remote machine. So you either have to write the exr output to a shared drive or collect them manually if they are saved locally.


// Peter Horvath
// C4DtoA developer
0 Likes
Message 16 of 25

jai.ceresoli
Explorer
Explorer

Sorry Peter, I might be being a bit of an idiot here - so you're saying for the Denoiser exr output, it has to be set to a location on the machine that's doing the rendering (or a shared drive)? So if I'm designing on my iMac, but rendering on my remote PC, the metadata is somehow stored on my PC? It won't be able to be stored on my iMac where I would ordinarily have the frames output to? So for example with this test I just did, I rendered 2 frames with the Arnold denoiser exr path set to a location on my iMac, and then Tema Rendered those frames exclusively with my remote machine. The resulting EXRs did not carry the required metadata for denoising in the Denoise tab of Arnold. So you're saying the destination has to be a networked/shared drive of some kind? The network connection between the iMac and PC that allows for the team render isn't sufficient for the carrying of the required denoising metadata. Is that right? A dedicated networked/shared drive is required as the output path for the Denoiser exr?

0 Likes
Message 17 of 25

peter_horvath
Autodesk
Autodesk

Yes. Only the Arnold EXR driver outputs the required meta data for denoising. This driver however runs at the end of the render process on the remote machine. Cinema 4D does not know about the Arnold drivers so it won't send this image back to the server as usual.


// Peter Horvath
// C4DtoA developer
0 Likes
Message 18 of 25

lizGYM66
Advocate
Advocate

@jai.ceresoli did you ever get this to work?

0 Likes
Message 19 of 25

jai.ceresoli
Explorer
Explorer

No, I didn't. But it seems to me that this is something for Autodesk/Maxon to figure out because I feel it SHOULD be possible. It seems an unnecessary limitation. I bet the relevant developers could figure this out in no time. It's just information. Why can't that be easily passed back and forth on two (or more) networked machines.

0 Likes
Message 20 of 25

peter_horvath
Autodesk
Autodesk

@jai.ceresoli wrote:

No, I didn't. But it seems to me that this is something for Autodesk/Maxon to figure out because I feel it SHOULD be possible. It seems an unnecessary limitation. I bet the relevant developers could figure this out in no time. It's just information. Why can't that be easily passed back and forth on two (or more) networked machines.


Well, it's not an easy problem to solve, because of the architecture of Team Render and Arnold. Noice requires some Arnold specific meta data to be present in the EXR file, which is now written by the Arnold EXR driver. However when rendering via Team Render, the EXR is written by Cinema 4D and there's no option to add any custom meta data. Also, since Cinema 4D does not know about the Arnold driver, it won't transfer the output EXRs from the client machines to the server.

 

The only workaround for now is to output the EXR files from the Arnold EXR driver to the shared drive.


// Peter Horvath
// C4DtoA developer
0 Likes