keywords: Vulkan Documents & Tutorials Collection

Tutorials & Learning Resource

Khronos Official

Khronos Samples
https://github.com/KhronosGroup/Vulkan-Samples

Khronos Vulkan Forum
https://community.khronos.org/c/vulkan

Khronos webinars and video recordings on YouTube
https://www.youtube.com/user/khronosgroup

Khronos Vulkan Guide
https://github.com/KhronosGroup/Vulkan-Guide

Khronos Vulkan Website
https://vulkan.org/

Khronos Vulkan Slack Channel
https://khronosDevs.slack.com

Vulkan Discord
https://discord.com/channels/427551838099996672/427833316536746005

Non-Khronos

Vulkan.tutorial.com
https://vulkan-tutorial.com

Sascha Willems examples
https://github.com/SaschaWillems/Vulkan

NVIDIA developer website
https://developer.nvidia.com/

AMD GPUOpen Vulkan resources
https://gpuopen.com/vulkan/

Intel Game Developer site
https://www.intel.com/content/www/us/en/developer/topic-technology/gamedev/overview.html

Source code examples for “API without Secrets: Introduction to Vulkan” tutorial
https://github.com/GameTechDev/IntroductionToVulkan

Reddit Vulkan posts
https://www.reddit.com/r/vulkan/

VulkanGuide (Recommended)
https://vkguide.dev

API Without Secrets
https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-preface

Stack Overflow Vulkan posts
https://stackoverflow.com/search?q=vulkan

Vulkan in 30 minutes
https://renderdoc.org/vulkan-in-30-minutes.html

Vulkan API Tutorials from ARM
https://developer.arm.com/graphics/vulkan/vulkan-tutorials

Vulkan tutorials from Qualcomm
https://developer.qualcomm.com/software/adreno-gpu-sdk/tutorial-videos

2D/3D graphics engine written in C++ language. It currently supports the following graphics APIs: OpenGL 3.3+, Vulkan 1.2, DirectX 11. Its current purpose is to experiment with various CG concepts and techniques.
https://github.com/dtrajko/MoravaEngine

Diagrams showing relationships between Vulkan objects and how they’re used. (Performance Increased)
https://github.com/David-DiGioia/vulkan-diagrams

YouTube Videos

Vulkan Game Engine Tutorial
https://www.youtube.com/watch?v=Y9U9IE0gVHA&list=PL8327DO66nu9qYVKLDmdLW_84-yE4auCR

Vulkan Lecture Series at TU Wien
https://www.youtube.com/watch?v=tLwbj9qys18&list=PLmIqTlJ6KsE1Jx5HV4sd2jOe3V1KMHHgn

Vulkan in C++
https://www.youtube.com/watch?v=mzVFHEmnRLg&list=PL58qjcU5nk8uH9mmlASm4SFy1yuPzDAH0

Book List

3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan (August 25, 2021)
https://www.amazon.com/Graphics-Rendering-Cookbook-comprehensive-algorithms/dp/1838986197

Tools & Libraries

Comprehensive

vuk - A rendergraph-based abstraction for Vulkan
https://github.com/martty/vuk

A rendergraph-based graphical framework for Vulkan
https://github.com/Raikiri/LegitEngine

Granite is my personal Vulkan renderer project. The most interesting part of this project compared to the other open-source Vulkan renderers so far is probably the render graph implementation.(Performance Increased)
https://github.com/Themaister/Granite

The Vienna Vulkan Engine (VVE). A Vulkan based render engine
https://github.com/hlavacs/ViennaVulkanEngine

A set of utilities for taking the pain out of Vulkan in header only modern C++(Performance Increased)
https://github.com/andy-thomason/Vookoo

Low-level convenience and productivity layer atop Vulkan-Hpp
https://github.com/cg-tuwien/Auto-Vk

Game Engine

3D game engine using C++20 and Vulkan (WIP)
https://github.com/karnkaul/LittleEngineVk

A new 3D game engine for Linux and Windows using C++20 and Vulkan API
https://github.com/inexorgame/vulkan-renderer

Software Rendering

SwiftShader is a high-performance CPU-based implementation of the Vulkan graphics API. Its goal is to provide hardware independence for advanced 3D graphics.
https://github.com/google/swiftshader

Ray Tracing

Ray tracing glTF scene with Vulkan
https://github.com/nvpro-samples/vk_raytrace

A minimal implementation of Vulkan ray tracing.
https://github.com/WilliamLewww/vulkan_ray_tracing_minimal_abstraction

Tracing & Insight & Profiling

Tools to aid in Vulkan development including useful layers, trace and replay, and tests
https://github.com/LunarG/VulkanTools

Graphics API Capture and Replay Tools for Reconstructing Graphics Application Behavior
https://github.com/LunarG/gfxreconstruct

Vulkan Profiles Tools (Beta and still under development)
https://github.com/KhronosGroup/Vulkan-Profiles

Vulkan hardware capability viewer
https://github.com/SaschaWillems/VulkanCapsViewer

Fossilize is a library and Vulkan layer for serializing various persistent Vulkan objects which typically end up in hashmaps. CreateInfo structs for these Vulkan objects can be recorded and replayed.
https://github.com/ValveSoftware/Fossilize

API Wrapping (Translation Layer)

Fork of VKD3D. Development branches for Proton’s Direct3D 12 implementation.
https://github.com/HansKristian-Work/vkd3d-proton

Experimental implementation of OpenCL on Vulkan
https://github.com/kpet/clvk

Denoising

Denoising a Vulkan ray traced image using OptiX denoiser
https://github.com/nvpro-samples/vk_denoise

Meta loader

Meta loader for Vulkan API (Performance Increased)
https://github.com/zeux/volk

SVO (Sparse Voxel Octree)

A GPU SVO Builder using rasterization pipeline, a efficient SVO ray marcher and a simple SVO path tracer.
https://github.com/AdamYuan/SparseVoxelOctree

Windows System

A Vulkan window system integration layer for Linux
https://gitlab.freedesktop.org/mesa/vulkan-wsi-layer

Apple Metal (ios)

MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple’s Metal graphics framework, enabling Vulkan applications to run on iOS and macOS.
https://github.com/KhronosGroup/MoltenVK

GUI

Low Latency GUI on top of Vulkan
https://github.com/ttauri-project/ttauri

Misc

Vulkan bootstraping library
https://github.com/charles-lunarg/vk-bootstrap

Examples

Grass Rendering

In this project, you will use Vulkan to implement a grass simulator and renderer.
https://github.com/CIS565-Fall-2017/Project6-Vulkan-Grass-Rendering

Documents

Fragments

Vulkan gamma correction
https://stackoverflow.com/a/66401423/1645289

GUP Infomations

This is the launchpad for Sascha Willems GPU hardware databases targeting the open graphics API of Khronos.
https://gpuinfo.org/

Optimization

Reducing Draw Time Hitching with VK_EXT_graphics_pipeline_library (PSO, Pipeline State Object)
https://www.khronos.org/blog/reducing-draw-time-hitching-with-vk-ext-graphics-pipeline-library


“The most terrifying thing is to accept oneself completely.” ― C.G. Jung