Is it possible or will it be possible to export the render elements created by the denoiser as separate exrs. E.g the noiseLevel.
Announcement
Collapse
No announcement yet.
Denoiser output separate render elements
Collapse
X
-
Tags: None
-
Not for the moment, no. What exactly do you need it for? noiseLevel along with the rest of the render elements that the denoiser creates are all stored in multichannel images to (potentially) later use with the standalone denoiser tool (mostly to denoise animations).
What render elements do you need separately and what would you use them for?
-
Originally posted by yolov View PostNot for the moment, no. What exactly do you need it for? noiseLevel along with the rest of the render elements that the denoiser creates are all stored in multichannel images to (potentially) later use with the standalone denoiser tool (mostly to denoise animations).
What render elements do you need separately and what would you use them for?
Comment
-
Originally posted by Fido Film View Post
We don't render multichannel but would still like to use the denoiser in Nuke. Im guessing they wanna do the same thing.
Comment
-
Originally posted by Fido Film View Post
We don't render multichannel but would still like to use the denoiser in Nuke. Im guessing they wanna do the same thing.
Being able to render into separate exr files for the standard render elements, and then have the denoiser element as a single multi-channel exr would be lovely.
The same could be said for the new cryptomatte element, "object select" element and other elements that output multiple "channels".
It could all be handled inside the compositing softwares merging the channels I guess (or post process extracting/merging from vrimg files) , but not having to might be more elegant
Comment
-
Yes, the goal is to use it in nuke and merge all the channels there. So it would be nice to have the option to have all the passes separate or to be able to choose what will be in the multi exr and what will be a separate pass(exr). The reason is that with heavy multiexr the nuke scene can become slow so only use the renderpasses when needed.
Comment
-
Even though this is not possible in the UI at the moment, a simple script can be used to achieve this.
The only render elements that are not accessible from the UI are the noiseLevel and the defocusAmount. So those two can be created with a post-translate python script in Maya, like so:
Code:from vray.utils import * noiseL=create('RenderChannelGlossiness', 'noiseLevel') noiseL.set('alias', 142) noiseL.set('name', 'noiseLevel') defocusA=create('RenderChannelGlossiness', 'defocusAmount') defocusA.set('alias', 146) defocusA.set('name', 'defocusAmount')
The rest of them can be created manually like so --> in the list below, I've written the output name on the left and the the UI-accessible name in brackets on the right (yes, most of the below is pretty obvious, but any guide ought to be exhaustive ) :Note 1: The samplerInfo render element can be used for worldPositions and worldNormals with VRay 3.6. With older VRay versions you can use the additional vray outputs for the samplerInfor node which you can then plug in an extra tex render element (still valid for 3.6, but using the samplerInfo render element is easier).Output Channel name How to create it worldPositions samplerInfo with Type = "Point" and Coordinate system = "World" worldNormals samplerInfo with Type = "Normal Vector" and Coordinate system = "World" diffuseFilter Diffuse reflectionFilter Reflection Filter refractionFilter Refraction Filter atmosphere Atmospheric Effects background Background lilghting Lighting globalIllumination GI reflection Reflection specular Specular refraction Refraction
Note 2 : RGB, noiseLevel, defocusAmount, worldPositions, worldNormals, diffuse, reflectionFilter and refractionFilter are the channels needed for single pass denoising. If you're only going to do single-pass denoising in nuke, then you don't need the rest.
Note 3 : atmosphere, background, GI, lighting, Reflection, Specular and Refraction are the extra channels you need to do multi-pass denoising (the option is called "Denoise render elements separately" in the Maya UI, the nuke plugin equivalent is to disable "single-pass" in the denoiser settings)
Note 4 : Although the non-python part can be scripted in Maya, the whole setup can be done with a single post-translate python script, just mentioning
With this setup, you can now render out to single-channel EXR files. Then you'll need to use the COPY node in Nuke to put all of your channels into a single flow (keep in mind notes 3 and 4 - you might not need to copy all of them). Then you can plug that flow into a VRayDenoiser nuke node.
Hope this helps, let me know if that works for you.Last edited by yolov; 29-09-2017, 07:53 AM.
- Likes 1
Comment
-
Originally posted by sharktacos View PostThis is awesome Alex! I vote for making this a sticky thread!
Comment
-
-
Thanks for a great answer Alex. We will try it out as well.
In my previous post I completely forgot the need for the auxiliary passes in the denoise.
That kind of negates parts of the idea with getting denoiser outputs in one single multichannel exr but having separate files for the other elements.
You might end up get duplicate data in the other elements(assuming that we also have those elements for other needs), or if you only get the two "specials" in an multichannel exr, you end up using the nuke copy anyway to merge in the rest of the channels.
So, you solution here seems to be the most efficient way to handle it.
If one didn't have additional use for the render-elements that makes up the denoiser, then it would still be lovely to get them out as a single multichannel exr, in a seperate-files-per-element setup.
Thanks again.
Comment
Comment