knightcrawler25 / GLSL-PathTracer

A toy physically based GPU path tracer (C++/OpenGL/GLSL)
MIT License
1.85k stars 175 forks source link

compilation error (linking stage) on Linux, "cannot find -lOpenImageDenoise" #39

Closed Tetsujinfr closed 3 years ago

Tetsujinfr commented 3 years ago

hi

I have compiled successfuly up to 100% but I get a linker error:

...
[ 96%] Building CXX object CMakeFiles/PathTracer.dir/thirdparty/imguizmo/ImGuizmo.cpp.o
[100%] Linking CXX executable PathTracer
/usr/bin/ld: cannot find -lOpenImageDenoise
collect2: error: ld returned 1 exit status

I see OpenImageDenoise.lib under GLSL-PathTracer/thirdparty/oidn/lib, is it not the library the linker needs?

I am on Ubuntu 18.04, cmake 3.18.

Do you have any idea? thanks

edit: I realise there are only .dll or .lib files for the oidn thirdparty folder, no .so neither .a file. After googling a bit, it seems it is an Intel library. on there website they say "You need a CPU with SSE4.1 support or Apple Silicon to run Intel Open Image Denoise" Now, I am running on a Jetson machine, Linux for tegra, i.e. ARM cpu, so I cannot use this lib anyway. If so, then can I compile without image denoising? if yes, how can I do it?

Tetsujinfr commented 3 years ago

ok, I managed to de-activate the denoiser dependencies in the TiledRenderer code, all good. Everything works fine, except the denoiser of course.

Closing this issue. Would be great to have a non "x86 only" denoising option. looking into open source options but does anyone know a fast one (not a deepnet one please) except OIDB? thanks

Tetsujinfr commented 3 years ago

For anyone interested by an Intel OIDN, and which works with ARM, here is a pretty strong alternative I think: https://developer.nvidia.com/optix-denoiser