Project containing my hybrid ray tracing demo for my master's thesis. It is using Vulkan + RTX (VK_NV_ray_tracing) for ray traced shadows, ambient occlusion and reflections in a rasterization pipeline. Also contains some prototyping projects. The hybrid ray tracing executable is called rtcombined.
- VK_NV_ray_tracing
- Standard extensions for swap chain and debugging
- Please use vcpkg for dependency management when using windows to use this project
- Install assimp:x64-windows, glfw3:x64-windows, spdlog:x64-windows and glm:x64-windows using vcpkg
- Make sure the Vulkan SDK is installed.
- I recommend the PICA PICA Mini Diorama scene (as gltf). Please download and unpack it into the resources folder.
- Set the correct path to your installation of vcpkg (vcpkg.cmake) in the CMakeSettings.json-file or use the included script (set_vcpkg_path.ps1) to select it
- Open the project folder in Visual Studio (2019 is recommended, 2017 works too)
- Demo for my masters thesis
- Renders the scene into a G-Buffer
- Uses RTX for ray traced shadows, ambient occlusion, and reflections
- Combines ray traced results with direct lighting
- Acceleration structure can be updated
- More features: Triple buffering, PBR (Cook-Torrance BRDF), GUI for settings, shader live-reloading, dynamic light sources, included timers
- All other executables were just for protoyping, smaller examples, and learning.
- PBR & IBL code adapted (with changes) from Joey de Vries' learnopengl.com, licensed under CC BY-NC 4.0.