This description will be updated during the development process.
Most of external libraries will be located directly in the source code, to reduce a number of dependencies and make building faster. But this libraries and tools you have to install by yourself:
- CMake
- Intel Embree for CPU ray-tracing
- CUDA
- OptiX
- optionally OpenVDB if you want to load .vdb files with volumetric data.
Windows is the only one platform, which is supported at the moment.
- download and install the latest release of Intel Embree from GitHub
- copy embree binaries (embree3.dll and tbb12.dll) to "bin" folder in the root directory of etx-tracer;
- and then building should be as simple as creating a folder for build files and calling CMake, something like:
cmake -G "Visual Studio 17 2022" ..
These libraries are included into the source code in thirdparty
folder:
- enkits - A permissively licensed C and C++ Task Scheduler for creating parallel programs
- glm - OpenGL Mathematics
- imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
- jansson - C library for encoding, decoding and manipulating JSON data
- mikktspace - A common standard for tangent space used in baking tools to produce normal maps.
- sokol_app, sokol_gfx, sokol_imgui - minimal cross-platform standalone C headers
- stb_image - stb single-file public domain libraries for C/C++
- tinyexr - Tiny OpenEXR image loader/saver library
- tinyobjloader - Tiny but powerful single file wavefront obj loader