Just a framework for building simple Vulkan applications.
All external dependencies are configured as submodules; after cloning the spokk repo, run the following commands to clone and sync the appropriate revisions:
$ git submodule init
$ git submodule update
Next, use CMake in the traditional platform-appropriate fashion to generate the project files of your choice. Build and run any of the "samples" projects.
spokk builds upon the following projects, which will be automatically included and configured as submodules):
- assimp/assimp for loading common 3D file formats.
- glfw/glfw for windowing and keyboard/mouse input.
- sheredom/json.h for JSON parsing.
- sheredom/process.h for subprocess spawning.
- g-truc/glm for 3D math.
- ocornut/imgui for quick & dirty runtime GUI.
- tobski/simple_vulkan_synchronization for simplified Vulkan barrier configuration.
- KhronosGroup/SPIRV-Reflect for introspection of SPIR-V shaders (i.e. data-driven VkDescriptorSetLayout and VkPipelineLayout generation).
- nothings/stb for loading common image formats (
stb_image
), writing images (stb_image_write
), mipmap generation (stb_image_resize
), and TrueType font loading (stb_truetype
). - GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator for Vulkan device memory allocation.