OpenImageDenoise

Discussion related to the Engine functionality, implementations and API.
Post Reply
User avatar
alpistinho
Developer
Developer
Posts: 148
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: OpenImageDenoise

Post by alpistinho » Thu Jan 31, 2019 1:20 pm

acasta69 wrote:
Thu Jan 31, 2019 1:01 pm
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?
Linux Mint 18.3 (Ubuntu 16.04)
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Developer
Posts: 2793
Joined: Mon Dec 04, 2017 8:36 pm

Re: OpenImageDenoise

Post by Dade » Thu Jan 31, 2019 5:42 pm

Like with Intel Embree, we can just use their binaries. I usually include the sources of small libraries without binaries available for Windows, Linux and MacOS.

I can add the support for albedo AOV tomorrow ... today I was skiing :mrgreen:
Support LuxCoreRender project with salts and bounties

User avatar
lacilaci
Donor
Donor
Posts: 1367
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post by lacilaci » Thu Jan 31, 2019 7:59 pm

Dade wrote:
Thu Jan 31, 2019 5:42 pm
Like with Intel Embree, we can just use their binaries. I usually include the sources of small libraries without binaries available for Windows, Linux and MacOS.

I can add the support for albedo AOV tomorrow ... today I was skiing :mrgreen:
oh, that's one less problem to worry about then

User avatar
alpistinho
Developer
Developer
Posts: 148
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: OpenImageDenoise

Post by alpistinho » Thu Jan 31, 2019 9:58 pm

Just an update: Both Embree and OIDN include a copy of libtbbmalloc.so.2, but they are not the same. They're probably compiled against different versions of TBB.

I need now to find a way to include both and link everything correctly
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Developer
Posts: 2793
Joined: Mon Dec 04, 2017 8:36 pm

Re: OpenImageDenoise

Post by Dade » Thu Jan 31, 2019 10:47 pm

alpistinho wrote:
Thu Jan 31, 2019 9:58 pm
Just an update: Both Embree and OIDN include a copy of libtbbmalloc.so.2, but they are not the same. They're probably compiled against different versions of TBB.

I need now to find a way to include both and link everything correctly
The newest is likely to work fine for both :?:

P.S. just try one, than the other ... it may/should work.
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Developer
Posts: 148
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: OpenImageDenoise

Post by alpistinho » Thu Jan 31, 2019 11:23 pm

I've tried to compile OIDN following their instructions but it is not working either. I don't know if something is messed up with my system.
I will try to compile against the binary and use the same shared library for both. Sorry for my rusty building abilities :?

Code: Select all

daniel@daniel-desktop ~/Documents/oidn/build $ make
[  1%] Building CXX object common/CMakeFiles/common.dir/tasking.cpp.o
/home/daniel/Documents/oidn/common/tasking.cpp:45:34: error: no member named 'this_task_arena' in namespace 'tbb'; did you mean 'task_arena'?
    const int threadIndex = tbb::this_task_arena::current_thread_index();
                            ~~~~~^~~~~~~~~~~~~~~
                                 task_arena
/usr/include/tbb/task_arena.h:264:19: note: 'task_arena' declared here
using interface7::task_arena;
                  ^
/home/daniel/Documents/oidn/common/tasking.cpp:51:34: error: no member named 'this_task_arena' in namespace 'tbb'; did you mean 'task_arena'?
    const int threadIndex = tbb::this_task_arena::current_thread_index();
                            ~~~~~^~~~~~~~~~~~~~~
                                 task_arena
/usr/include/tbb/task_arena.h:264:19: note: 'task_arena' declared here
using interface7::task_arena;
Support LuxCoreRender project with salts and bounties

User avatar
lacilaci
Donor
Donor
Posts: 1367
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post by lacilaci » Fri Feb 01, 2019 3:52 pm

So, just as nvidia's denoiser. It is absolutely blind to bidir noise.
However, I wonder since it's open source if someone could create and train dataset for bidir as well? Maybe like a mode switch of the denoiser that's autoselected depending on selected renderer(bidir/path-oclpath)?

I don't care about bidir at all, but maybe for future development, to get rid of that... thing completely.

User avatar
Dade
Developer
Developer
Posts: 2793
Joined: Mon Dec 04, 2017 8:36 pm

Re: OpenImageDenoise

Post by Dade » Fri Feb 01, 2019 4:11 pm

Dade wrote:
Thu Jan 31, 2019 5:42 pm
I can add the support for albedo AOV tomorrow
I added the support for Albedo AOV to all CPU path tracers. This rendering:

Image

Has this Albedo AOV:

ALBEDO.png
Next OpenCL and BiDir support.
Support LuxCoreRender project with salts and bounties

User avatar
lacilaci
Donor
Donor
Posts: 1367
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post by lacilaci » Fri Feb 01, 2019 4:21 pm

Looks good to me, have to test with oidn...

But... you said cpu pathtracers, ocl won't output this aov?

User avatar
Dade
Developer
Developer
Posts: 2793
Joined: Mon Dec 04, 2017 8:36 pm

Re: OpenImageDenoise

Post by Dade » Fri Feb 01, 2019 4:23 pm

lacilaci wrote:
Fri Feb 01, 2019 4:21 pm
But... you said cpu pathtracers, ocl won't output this aov?
Not yet, I have still to write the OpenCL and BiDir support.
Support LuxCoreRender project with salts and bounties

Post Reply