This project is for a special course in Computer Graphics, focused on implementing Raytracing using C++ and Vulkan.
Features:
- Simple Blinn-Phong shading.
- GLTF model loading using FastGLTF.
- Frustum Culling.
- Directional Light.
- Directional Shadow Mapping.
- Hardware Accelerated Raytracing.
- Raytraced Shadows.
Planned Features
- Raytraced Ambient Occlusion.
- Raytraced Reflections.
Sponza scene with DamagedHelmet. Showcasing Directional lighting and shadows.
Resources and Inspiration:
- The Vulkan Guide: https://vkguide.dev/
- The codebase is built on top of the vulkan guide as it's base.
- The Vulkan Tutorial: https://vulkan-tutorial.com/
- NVIDIA Vulkan Raytracing tutorial: https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR/
- The raytracing implementation follows the one in this tutorial. Although with changes to match my Vulkan abstractions and interfaces.
- Sascha Willems Vulkan Examples and Demos: https://github.com/SaschaWillems/Vulkan
- Great source for examples and inspiration.