tuket / vulkan_example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple vulkan example that draws a textured quad.

Imgur

Code is contained in a few files:

Written in simple C++, without any sofisticated code style. However, C++20 is used for designated initializers, as it improves code readability.

Covers the most basic Vulkan concepts:

  • Set up a window using GLFW
  • Create vulkan instance
  • Select the best GPU (VkPhysicalDevice)
  • Create a logical device
  • Use VMA to allocate memory
  • Swapchain creation and synchronization
  • Pipeline creation
  • Staging buffers: creating, mapping host memory, flushing
  • Vertex buffers: creating, initializing with data
  • Images: creation, initializing with data, layout transition using barriers
  • Descriptors, descriptor pool, descriptor sets, etc
  • Compile shaders to SPIRV: uses CMake to automate the compilation of shaders
  • Record cmdBuffers
  • Framebuffer recreation when window is resized

Uses the following libraries:

About

License:The Unlicense


Languages

Language:C++ 61.5%Language:C 36.1%Language:Objective-C 2.0%Language:CMake 0.4%Language:GLSL 0.0%