OptiX advanced samples on github

The GLTF_renderer example has now been changed to a standalone solution to be able to implement skinning animations on the GPU using native CUDA kernels.

The example’s CMakeLists.txt is now using the CMake LANGUAGES CUDA feature to build native CUDA binary kernels (and PTX code which can be JIT-compiled to newer SM versions for upwards compatibility) which are called by the CUDA runtime chevron <<<>>> operator.

CMake then requires to separate the build of the OptiX device modules as OptiX-IR binary or PTX source code into an Object Library. That only compiles *.cu files to *.optixir or *.ptx files. There is no “library” involved.

Copying the target files into the GLTF_renderer_core folder next to the executable is done by an install() instruction which needs to be enabled inside the MSVS Build → Configuration Manager or triggered manually on changes. (That was the least awkward mechanism when dealing with target paths only available inside CMake generator expressions.)

The example requires OptiX SDK 7.7.0 or 8.0.0, CUDA Toolkit 12.0 or newer, and is currently configured to build CUDA kernels and OptiX device code for Pascal GPUs (SM 6.0) and newer, which can be easily extended down to Maxwell GPUs when required.

That means it’s a working example for a standalone build environment using native CUDA kernels plus OptiX outlined inside this post:
https://forums.developer.nvidia.com/t/why-am-i-getting-optix-dir-notfound/279085/4
Please also follow the grey links at the bottom there for more information posted in other threads linking to that post.
That should also be usable for standalone OptiX application projects without any native CUDA kernels.

Please find more details inside updated root README.md and the dedicated GLTF_renderer/doc/README.md inside the repository.