Vulkan is a low-level graphical API (similar to OpenGL and DirectX) for communicating/rendering high-performance graphics.
These tutorials and samples are intended to complement and extend the `Vulkan Coffee Book' - a `beginners' introduction to programming Vulkan (a taster).
To be clear - the emphasis of the samples is to present stripped down examples (minimal and basic).
Once you're up and running, there's a massive number of websites and resources online with additional resources and information to enable you to go above and beyond with Vulkan.
The aims of these `minimal working demos' is:
*. have fun learning Vulkan
*. small self-contained examples
*. teach the underpinnings of the Vulkan API
*. help simplify complicated concepts
*. minimal working builds
*. easy to compile and run
*. help make the topic interesting
*. share ideas and tips
`Not' the aim:
*. develop a framework
*. build an entire game-engine
*. compare and develop cross platform libraries
|
Vulkan API Programming Samples (C/C++/Visual Studio/Win32) |
|
|
Win32/x32 (Old) |
Win64/x64 (Vulkan Lab) |
|
Example -1- Setting up Vulkan (Basics) |
Win32 |
Win64 |
|
Example -2- Triangle (Depth Buffer) |
Win32 |
Win64 |
|
Example -3- Textures (Textured Triangles) |
Win32 |
Win64 |
|
Example -4- Rendering to Textures |
Win32 |
Win64 |
|
Example -5- Drawing a Complex Scene (loading .obj models) |
Win32 |
Win64 |
|
Example -6- Multiple Command Buffers |
Win32 |
Win64 |
|
Example -7- Parallax Mapping |
Win32 |
Win64 |
|
Example -8- Skybox (and Reflection) |
Win32 |
Win64 |
|
Example -9- Shadow Mapping |
Win32 |
Win64 |
|
Example -10- Debug Quad (2D Texturing) |
Win32 |
Win64 |
|
Example -11- Instancing |
Win32 |
Win64 |
|
Example -12- Geometry Shader (Normals) |
Win32 |
Win64 |
|
Example -13- Compute Shader (Particles) |
Win32 |
Win64 |
|
|
Vulkan Programming Notes |
|
|
Simplified Vulkan API High-Level Overview |
|
An illustration of the major components in Vulkan (i.e., components present in most applications).
|
Other Vulkan Texts |
|
Computer Graphics & Vulkan
Support material for the textbook Introducing computer graphics and the Vulkan API. The book's aim is to provide you with a grounds-up practical perspective of the topic with interesting examples that are easy to dissect and understand.
Of course, the topic is organised around the Vulkan API, while introducing you to other important graphical aspects, such as, programming shaders and their enormous flexibility and possibilities.
Importantly, this is an `introductory' text - a guide to getting started with computer graphics using the Vulkan API.
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 or lot of wrapper classes - in essence, a raw taste of the core principles).
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 (note the support code is for both the 1st/2nd revisions of the book)
|
|
|
Vulkan Ray-Tracing (Ray-Tacing Pipeline Extension)
Mix of examples, source code, information/tutorials focusing specifically on ray-tracing and the Vulkan API (Details).
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 or lot of wrapper classes - in essence, a raw taste of the core principles).
|
Computer Graphics & Vulkan
Support material for the textbook Vulkan Compute. The book's aim is to provide you with a grounds-up practical perspective of the topic with interesting examples that are easy to dissect and understand.
Of course, the topic is organised around the Vulkan API, while focusing on 'compute' (NOT graphics). Learning to leverage the enourmous power of compute power using the Vulkan compute pipeline.
The Vulkan compute lets you simplify the complexities of working with Vulkan - using the streamlined compute pipeline you're able to easily access the GPU to perform parallel compute operations - without ever having to deal with the graphics (no graphics pipeline or vertex/pixel/tesselation shaders - purely compute - akin to CUDA and OpenCL).
The text takes you all the way from getting started (setting up your system and the API) and some basic examples (adding arrays of numbers/sending data back and forth from the GPU) - to more complex operations, such as, ray-tracing and fluid simulations.
|
|
|
Other Related Texts You Might Find Interesting |
|
|