Twinklebear / ChameleonRT

An example path tracer that runs on multiple ray tracing backends (Embree/DXR/OptiX/Vulkan/Metal/OSPRay)
MIT License
600 stars 40 forks source link

Add 3rdParty libraries? #9

Closed Hearwindsaying closed 1 month ago

Hearwindsaying commented 3 years ago

Hello Dr. Usher,

Would you consider adding third party files to the repository or adding as external modules? So that we could find these packages ourselves. :)

Twinklebear commented 3 years ago

Hi @Hearwindsaying , I think adding the compiled libraries or sources of the dependencies to build from source will add too much bloat to the repository, and some 3rd party dependencies I don't think I can redistribute (e.g, OptiX) or are (I think) things that need to be installed on the system through Visual Studio or Xcode (DXR SDK/Windows SDK & MetalRT SDK).

What I can do though is put together better instructions for each platform explaining how to get the dependencies together and build the repository. I'll leave this issue open til I get that done. Another thing that's become more common is a "CMake Superbuild" like we do in OSPRay: https://github.com/ospray/ospray/tree/master/scripts/superbuild . That's a single CMake file that takes care of downloading/building all the dependencies the project needs which does simplify the process of getting it built quite a bit. I can put together something like that to take care of the dependencies that I can manage that way (Embree, TBB, ISPC, glm, SDL2 maybe) to simplify this process a bit.

Will or @Twinklebear is fine, no need for formalities 😄

Twinklebear commented 3 years ago

A small update here: to make the build process a bit easier I've set up CMake to download GLM and include it automatically.

Hearwindsaying commented 3 years ago

These updates make things more clear and easier to build. Thanks!

Twinklebear commented 3 years ago

The github actions pipelines will now package up binaries of the application which you can grab if you just need to run the application for some testing: https://github.com/Twinklebear/ChameleonRT/actions