Page 4 of 32

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 5:21 am
by lacilaci
Did anyone find an example of how albedo and normal passes should look like for the denoiser to work properly?
This is going to be very important to get right so that we can get the detail recovery of the level of sponza example on their site.

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 10:29 am
by B.Y.O.B.
alpistinho wrote: Wed Jan 30, 2019 11:13 pm I think I need some help setting up the build system. I've tried to copy how BCD and openVDB have been added but it is not going well yet.
The library includes some CMake files that maybe could be imported into the LuxCoreRender's.

I will commit my non-working trials, but it would be great if someone more experienced with it could have a look or we if could schedule a chat on Discord or something like that.

Thanks

EDIT: I've included Intel's library under the deps directory, but I haven't commited it since I didn't know what was the preferred way of including libraries
I'll take a look.
lacilaci wrote: Thu Jan 31, 2019 5:21 am Did anyone find an example of how albedo and normal passes should look like for the denoiser to work properly?
I looked for it, but I found nothing.

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 10:45 am
by lacilaci
B.Y.O.B. wrote: Thu Jan 31, 2019 10:29 am
lacilaci wrote: Thu Jan 31, 2019 5:21 am Did anyone find an example of how albedo and normal passes should look like for the denoiser to work properly?
I looked for it, but I found nothing.
So I've looked into how arnold uses albedo for denoising. And it's basicaly diffuse color/textures without lighting. (http://www.xuanprada.com/blog/2016/8/25 ... -in-arnold)

Which would make sense as it is seemingly used only to preserve texture detail(also combined with shading normal pass) and color.

EDIT: in attachment how it looks in appleseed

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 10:49 am
by B.Y.O.B.
Yes, for diffuse surfaces it's obvious, but I wonder how glossy and specular materials should be handled?

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 11:03 am
by lacilaci
B.Y.O.B. wrote: Thu Jan 31, 2019 10:49 am Yes, for diffuse surfaces it's obvious, but I wonder how glossy and specular materials should be handled?
Not sure about specular, but glossy/metals would still use it's color (in case of a renderer that uses principled or ubershader there is always the input)
At least, for starters it could greatly help with the results anyways, although there might be a better approach...

https://3dcoat.com/pbr/

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 11:36 am
by epilectrolytics
Not certain, but I think you can get albedo when rendering a scene with an ambient light (no shading) in one pass.
As I could not find an ambient light in Blender I rendered an example in Cheetah3D.
An ambient light has no direction (comes from every direction) and gathers all diffuse and specular components but not bump/normal displacement, hence the need for an additional normal AOV.
In the image you see how all reflections and refractions, even rough ones, are covered.
.
albedo.jpg

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 11:40 am
by acasta69
B.Y.O.B. wrote: Thu Jan 31, 2019 10:29 am
alpistinho wrote: Wed Jan 30, 2019 11:13 pm I think I need some help setting up the build system. I've tried to copy how BCD and openVDB have been added but it is not going well yet.
The library includes some CMake files that maybe could be imported into the LuxCoreRender's.

I will commit my non-working trials, but it would be great if someone more experienced with it could have a look or we if could schedule a chat on Discord or something like that.

Thanks

EDIT: I've included Intel's library under the deps directory, but I haven't commited it since I didn't know what was the preferred way of including libraries
I'll take a look.
What do you think of using the binary distribution of the library? It could be added to WindowsCompileDeps or installed to standard locations for other platforms and found by cmake.
I feel this could be easier, at least for Windows... not sure if it's the best way for the other OSes.

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 11:57 am
by alpistinho
What do you think of using the binary distribution of the library? It could be added to WindowsCompileDeps or installed to standard locations for other platforms and found by cmake.
I feel this could be easier, at least for Windows... not sure if it's the best way for the other OSes.
Maybe that's better than what I am doing. I think this library uses Intel MKL, so that would be another dependency. I will try to compile against the binary later today when I am home.

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 11:59 am
by epilectrolytics
epilectrolytics wrote: Thu Jan 31, 2019 11:36 am Not certain, but I think you can get albedo when rendering a scene with an ambient light (no shading) in one pass.
Update: The same effect can be achieved when all materials get their diffuse components into emissive, diffuse itself set to black and then the scene gets rendered without lights.

Re: OpenImageDenoise

Posted: Thu Jan 31, 2019 1:01 pm
by acasta69
alpistinho wrote: Thu Jan 31, 2019 11:57 am Maybe that's better than what I am doing. I think this library uses Intel MKL, so that would be another dependency. I will try to compile against the binary later today when I am home.
By the way: which platform are you working on?