OpenImageDenoise

Discussion related to the LuxCore functionality, implementations and API.
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

Currently LuxCore always uses 1 in albedo channel for metals, however the OpenImageDenoise documentation says:
For metallic surfaces the albedo should be either the reflectivity at normal incidence (e.g. from the artist friendly metallic Fresnel model) or the average reflectivity; or if these are constant (not textured) or unknown, the albedo can be simply 1 as well.
https://github.com/OpenImageDenoise/oidn#albedo

Could we use the Color value in Metal Material node for albedo? (Whether it is textured or constant.)
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

Yes, we can (we wrote the code before some clarification was added to the documentation). I will be out of the town for few days so just ping me if I forget.
Support LuxCoreRender project with salts and bounties
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

Okay, thanks in advance!
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

Code: Select all

ping Dade
:)
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

provisory wrote: Wed Jun 05, 2019 7:34 pm

Code: Select all

ping Dade
:)
Done:

metal.jpg
Support LuxCoreRender project with salts and bounties
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

Thank you!
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

I know I'm insatiable, but could we use the blend of the reflected and transmitted albedos for perfect specular surfaces (mirror and not rough glass)? :)
The albedo for dielectric surfaces (e.g. glass) should be either 1 or, if the surface is perfect specular (i.e. has a delta BSDF), the Fresnel blend of the reflected and transmitted albedos (as previously discussed). The latter usually works better but only if it does not introduce too much additional noise due to random sampling. Thus we recommend to split the path into a reflected and a transmitted path at the first hit, and perhaps fall back to an albedo of 1 for subsequent dielectric hits, to avoid noise. The reflected albedo in itself can be used for mirror-like surfaces as well.
https://github.com/OpenImageDenoise/oidn#albedo
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: OpenImageDenoise

Post by epilectrolytics »

Yes me too! :D

We already had that in the initial implementation but it can cause noise in the albedo AOV and thus irritate OIDN, so it was removed again.
In my tests it worked well, especially with BiDir, when there is a glass object on a textured surface.
It could be implemented as an option with a checkbox in the blender panel, maybe deactivated by default.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post by lacilaci »

Let's not forget that if albedo has noise, final image will have noise. This can turn oidn useless. But if there's a way.
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

Optional solution would be perfect!
Post Reply