Vulkan Raytracing first commit 8 months ago
.gitignore first commit 8 months ago
README.txt first commit 8 months ago
Vulkan Raytracing.sln first commit 8 months ago
README.txt
Dependencies in order to build from source:
tiny-obj-loader
stbimage
Vulkan SDK
glm
glfw
All can be acquired through vcpkg.

If running directly through the executable: need a GPU that supports the following Vulkan extensions:
VK_KHR_SWAPCHAIN_EXTENSION_NAME,
VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME,
VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME,
VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME,
VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME,
VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME,
VK_KHR_SPIRV_1_4_EXTENSION_NAME,
VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME,
VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME

Vulkan SDK/runtime needs to be installed and either defined in the $PATH environment variable or $VULKAN_SDK environment variable.
Do not edit any of the folder names. Run the exe inside the PROJECT folder. If you wish to build from source or use the Visual Studio debugger, simply use the .sln file. All the dependencies must be in traditional include directions or $PATH in order to compile successfully. No external code is redistributed with this project.

Controls: 
[Y] [U] :increase/decrease refractive index;
[N] [M] :increase/decrease number of bounces/recursion
[I] : cycle material
[W][A][S][D]: Camera position control, Forward, Left, Back and Right.
Mouse movement controls the camera rotation.