Message 1 of 25
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
How do I setup Team Render to use Arnold Noice? It’s for a still image, not animation.
Solved! Go to Solution.
How do I setup Team Render to use Arnold Noice? It’s for a still image, not animation.
Solved! Go to Solution.
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
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?
@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.
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.
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.
I use that for LookDev, but was looking for a solution where I could utilize another node and de-noise afterwards.
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.
@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.
Not ideal, but I'll accept the solution. Be great if you could change this going forward.
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?
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.
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.
You mean using the noice command line tool to denoise an animation, instead of using the imager?
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.
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?
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.
@jai.ceresoli did you ever get this to work?
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.
@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.