RAYEX is a work-in-progress, cross-platform, cross-vendor, Vulkan-based, real-time path tracer.
It runs on both Linux (x64) and Windows (x64) using the Vulkan API. This software aims to provide a cross-platform, cross-vendor path tracer that is easy to integrate into existing projects. Vendor independence is achieved by using the new KHRONOS Vulkan ray tracing extension (first published on March 17, 2020, as an experimental version). It uses SDL2 for windowing and glm as its math library. RAYEX features native Dear ImGui support, enabling the user to create user interfaces without writing any API-related code.
Install the latest NVIDIA driver. If you run into issues try the NVIDIA Vulkan beta drivers here, or check your GPU compatibility. AMD drivers can be downloaded here instead.
To integrate RAYEX in an existing C++ / CMake project, please follow the steps below.
Using CMake is not obligatory but recommended as RAYEX comes with its own CMakeLists.txt that will properly include all project headers. A release also comes with a fully functional example, including a complete CMakeLists.txt that can be used for reference.
To build the entire library yourself follow the steps below. If you want to build the provided example, make sure to enable the RX_BUILD_EXAMPLES build option in CMake.
Execute the example. Depending on the build type you want to choose, replace [buildtype].
Generate a Visual Studio 2019 solution using CMake and build it or open the project folder using Visual Studio 2019, confirm the prompt to generate the CMake cache, and build it.
The following cope snippet renders a cube. For a proper example, take a look at the documentation or example/example.cpp.
You can find the GitHub repository here.