Ray-Tracing & Vulkan (Acceleration Structures)
This page provides support tutorials for the Vulkan Ray-Tracing code examples (MWE - Minimal Working Examples). Simplified programs that give you somethign 'running' that you can elaborate and develop.
To be clear - the emphasis of the examples is to present minimal (basic) implementations from which the you can extend and build upon (i.e., not to build upon a framework with lots of wrapper classes - in essence, a raw taste of the core principles).
Most of the examples have tried to use no dependencies (external libraries (just Vulkan) - also a single file 'main.cpp' (which has been challenging - but gives you something to work with and as you rewrite and develop your own framework you'll know deep down what is happening - bottom up perspective).
Once you're up and running, there's a massive number of websites and resources online with additional material and information to enable you to go above and beyond with Graphics and Vulkan.
The aims of these `minimal working demos' is:
*. have fun learning ray-tracing with Vulkan
*. ray-tracing pipeline and acceleration structures (specific hardware support and enabled extensions)
*. review and learn the underpinning concepts
*. help simplify complicated ideas
*. minimal working code (stripped and cut-back to the bone)
*. help make the topic interesting (real-time ray-tracing)
*. small self-contained demos
`Not' the aim:
*. develop a framework or engine
*. build an entire game or library
*. compare and develop cross platform libraries
|
..
|
|
The code examples use the Introduction to Vulkan 'Minimal Working Skeleton Code' as a springboard. If you're new to Vulkan and Graphics you may want to start there before jumping into hardware accelerated ray-tracing.
There is also the 'Real-Time Ray-Tracing with Vulkan for the Impatient' which provides details on the Vulkan API Extension and Ray-Tracing.
|