NVIDIA / gvdb-voxels

Sparse volume compute and rendering on NVIDIA GPUs
Other
673 stars 144 forks source link

compile failed with oprix7 #88

Open yangfengzzz opened 4 years ago

yangfengzzz commented 4 years ago

I think optix7 is header only?I can’t find so-called optix.7.so

NBickford-NV commented 4 years ago

Hi yangfengzzz!

Although the core GVDB library should work with any version of OptiX, the OptiX samples here have not been ported to OptiX 7.0 yet, so you'll need to install OptiX 6.5 (as mentioned in the Readme file). Also, you should now be able to build the OptiX samples with both 7.0 and 6.5 installed - I just fixed a bug related to this (mentioned in issue #87 starting at https://github.com/NVIDIA/gvdb-voxels/issues/87#issuecomment-637935879), so GVDB should now find the correct version automatically - or you can specify the version of OptiX to use by setting OPTIX_ROOT_DIR. If you don't want to pull the repository again, you can also work around this in the previous version by setting OPTIX_ROOT_DIR and OPTIX_VERSION. Hope this helps!

digbeta commented 3 years ago

Hey, Neil -

Is OptiX 7.0 support on the horizon? I just wanted to see if I am going to have to write some buggy and kludgy OptiX 7.2 code or I should wait for a more elegant deliverable from you. :-)

Thanks in advance!

NBickford-NV commented 3 years ago

Hi Eric! An OptiX 7 sample probably won't be up for another few months at least on account of other work, so please go ahead! And if you happen to write something you like and beat me to adding OptiX 7 support, I'm happy to take pull requests!

digbeta commented 3 years ago

Oh boy... now the pressure is on! I'm not sure I am up to NVIDIA coding standards, but I'm happy to contribute what I end up creating. I'm going to try to mirror the scene class structure Rama created, but we'll see how that works out. I'll touch base when I get something working. Thanks again for the quick response!

digbeta commented 3 years ago

Neil, FYI - I have things working with Optix 7, so far so good. I was able to use most of the existing CUDA code without any major modifications. The Optix 7 changes are really on the host/application side. I will try to see what I can put together for the Optix sample, but it might take some time due to some other things I'm juggling at the moment. The good news is it works as expected!

NBickford-NV commented 3 years ago

That's fantastic to hear! That makes sense as well - I think when I was prototyping an OptiX 7 sample most of the work was there as well. Sounds good!

DocSavage commented 2 years ago

I think I ran into this issue. I'm running Win 10, VS 2022, and CMake 3.22.2 gui app. I installed Optix 7.4.0 SDK and after CMake complained, set OPTIX_ROOT_DIR to the install but it's still failing due to the lack of lib64 / bin64. I can use CMake and VS 2022 to compile the SDK samples, it's just an issue with build GVDB. Where are those lib64 / bin64 normally installed? I'll look into installing the older Optix and see if that works.

Finding OptiX...
OPTIX_ROOT_DIR was set to C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0. Detecting version number.
Detected OptiX version (OPTIX_VERSION): 7.4.0
  OptiX Lib:     C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0/lib64
  OptiX Bin:     C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0/bin64
  OptiX Include: C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0/include
  OptiX NOT FOUND. Could not find at least one of optix.7.4.0.dll or optixu.7.4.0.dll in C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0/bin64.
  OptiX NOT FOUND. Could not find at least one of optix.7.4.0.lib or optixu.7.4.0.lib in C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0/lib64.
CMake Error at source/sample_utils/FindOptix.cmake:173 (message):

        OPTIX not found. Please specify OPTIX_ROOT_DIR
        containing the include, lib64, bin64 folders. 
        Not found at OPTIX_ROOT_DIR: C:/ProgramData/NVIDIA Corporation/OptiX SDK 7.4.0
DocSavage commented 2 years ago

Yeah, downloading Optix SDK 6.5 solves the issue. Didn't realize the newer Optix SDKs are header only compared to pre-7 ones.