Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multilayer EXR's #18

Open
RicardoMusch opened this issue Sep 10, 2020 · 4 comments
Open

Multilayer EXR's #18

RicardoMusch opened this issue Sep 10, 2020 · 4 comments

Comments

@RicardoMusch
Copy link

So first off, thanks for this amazing work!

I noticed that inputting a multilayer exr will output a multilayer EXR with some of the same channels (names are the same, but not all channels are there) but the channels have been altered with different data.
I imagine these channels represent data the Denoiser used to Denoise.

I also wonder if the denoiser does anything with channel data, there is no way to feed it the albedo from a channel name right?

We are thinking of switching to rendering multi-image instead of multilayer to use this more effectively.

@DeclanRussell
Copy link
Owner

Thanks, I'm glad you're enjoying the tool!

Using multiple images is currently the only workflow but having multilayer EXR support certainly would be nice. The fact that the tool already outputs multilayer EXRs is purely by chance right now, as I reuse the input image handle for the output image. So I guess it just copies everything. The question is, what would be the most intuitive and practical way to expose this to a user? Hear are a couple of options I can think of off the top of my head.

  • Have a dedicated -multilayer flag that you use instead of the -i/-a/-a flags. This option could be hard coded to search for layers in the EXR named beauty/albedo/normal
  • Have some kind of syntax in the file path that points to the desired channel. E.g. -i myfile<beauty>.exr -a myfile<albedo>.exr etc..
  • Something else?

Let me know what you think

@RicardoMusch
Copy link
Author

RicardoMusch commented Sep 16, 2020

Hey Declan,

I think keeping things simple will help!
I'm thinking something like this:

Denoiser.exe -multilayer -albedoLayerName albedo -beautyLayerName beauty -normalLayerName n "my_multilayer_exr_file_path.1001.exr"

This way it's easy to code into things without having to deconstruct the filepath.
If no albedo/normals/beauty tags specified I guess you could search for the layer names using the common ones, but normally the layernames won't change (except when changing render software).

Where you thinking of denoising the other channels as well?
I think the main reason to switch to rendering singles is to make it very easy to denoise each aov or only selected aov's using the albedo/beauty/normals. Not all aov's will usually have the same amount of noise.

Obviously these are suggestions!
This is all up to you in the end haha, appreciate the efforts!

@DeclanRussell
Copy link
Owner

Thanks Ricardo, this is great! I think I have a good idea of how I'm going to implement it. I'll try my best to find some free time to hack this in. I'll keep you posted :)

@ChristopheMoreau
Copy link

ChristopheMoreau commented Sep 26, 2020

Hi guys, and again thanks Declan for you tool. Actually I'm using both Intel and Nvidia in a tool "FiNE" if you want to give it a try. It works with multilayer EXR, in sequence or single frame. The Normal and Albedo can be in separate exr or in the beauty pass. (like Renderman did when you want to denoise with the renderman hyperion denoiser, whitch is also in the tool).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants