OpenImageDenoise

Discussion related to the LuxCore functionality, implementations and API.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post 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.
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: OpenImageDenoise

Post 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.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post 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
Attachments
albedo_appleseed.png
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: OpenImageDenoise

Post by B.Y.O.B. »

Yes, for diffuse surfaces it's obvious, but I wonder how glossy and specular materials should be handled?
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post 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/
Attachments
Screenshot from 2019-01-31 12-01-51.png
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: OpenImageDenoise

Post 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
acasta69
Developer
Developer
Posts: 472
Joined: Tue Jan 09, 2018 3:45 pm
Location: Italy

Re: OpenImageDenoise

Post 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.
Support LuxCoreRender project with salts and bounties

Windows 10 64 bits, i7-4770 3.4 GHz, RAM 16 GB, GTX 970 4GB v445.87
User avatar
alpistinho
Developer
Developer
Posts: 198
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: OpenImageDenoise

Post 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.
Support LuxCoreRender project with salts and bounties
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: OpenImageDenoise

Post 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.
acasta69
Developer
Developer
Posts: 472
Joined: Tue Jan 09, 2018 3:45 pm
Location: Italy

Re: OpenImageDenoise

Post 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?
Support LuxCoreRender project with salts and bounties

Windows 10 64 bits, i7-4770 3.4 GHz, RAM 16 GB, GTX 970 4GB v445.87
Post Reply