bombomby / niagara

A Vulkan renderer written from scratch on stream

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


This is a Vulkan renderer that is written on stream from scratch - without using any third party code that is Vulkan specific. We are using non-Vulkan-specific third party libraries however.

The goal is to experiment with a few modern Vulkan rendering techniques, such as GPU culling & scene submission, cone culling, automatic occlusion culling, task/mesh shading, and whatever else it is that we will want to experiment with. The code will be written exclusively on stream.


The renderer is written using Visual Studio and targets Windows desktops with modern Vulkan drivers. You will need Visual Studio 2017 and Vulkan SDK to follow along


The development of this project streams on YouTube on weekends; Saturday and Sunday, 10 AM PST. You can watch the stream here:


  1. Setting up instance/device and filling the screen with a solid color:
  2. Rendering a triangle on screen:
  3. Cleaning up validation errors and implementing swapchain resize:
  4. Rendering a mesh using shader storage buffers and int8:


During the streams we find various bugs in parts of the Vulkan stack and report them:


A Vulkan renderer written from scratch on stream


Language:C++ 97.7%Language:GLSL 2.3%