This respository contains Vulkan sample material for CIS 565 at the University of Pennsylvania.
The master
branch contains separate folders which contains simple applications which build on each other:
- Hello Window
- Creates a window and sets up the Vulkan instance, logical device, and swapchain
- Hello Triangle
- Creates a graphics pipline and draws a triangle with hard-coded vertex attributes in the shader
- Hello Vertex Buffers
- Creates buffers for vertex attributes, binds them, and draws
- Hello Uniform Buffers
- Adds descriptor pools, descriptor set layouts, and descriptors
- Creates descriptors for uniform buffer objects
- Binds descriptors to the graphics pipeline to transform the triangle based on camera position
- Hello Compute
- Adds a compute shader to rotate initial vertex positions based on time
- Hello Tessellation
- Tessellates a single vertex into a quad
Each sample is also included on its own branch. Diffs of the branches can be viewed on Github to see the changes necessary to incrementally go from one sample to the next:
- Hello Window --> Hello Triangle
- Hello Triangle --> Hello Vertex Buffers
- Hello Vertex Buffers --> Hello Uniform Buffers
- Hello Uniform Buffers --> Hello Compute
- Hello Compute --> Hello Tessellation
Content adapted from Vulkan Tutorial