Modules

  • module Allocation The allocator module encompasses everything required for the operation/use of this project's rather complex GPU memory management subsystem.
  • module Command The Command group encompasses classes related to recording commands, submitting commands, and allocating/freeing/resetting VkCommandBuffer objects.
  • module Core The Core group handles the base Vulkan resources and objects: LogicalDevice, PhysicalDevice, Instance, and Window.
  • module Rendering The rendering group is used for objects that are directly related to how things appear on screen, including those classes that are minimum requirements for making things display like the Framebuffer, Renderpass, and the GraphicsPipeline.
  • module Resources The resources group/module encompasses objects that especially require Vulkan/GPU resource allocation, lifetime management, and objects that most benefit from C++ abstraction to remove boilerplate code.
  • module Synchronization Vulkan has three primary synchronization primitives, each with distinct use cases and capabilities.