Managing Vulkan resources
In the previous chapters, we implemented individual manual management for Vulkan resources in all our rendering classes. This recipe describes the system that manages all Vulkan-related objects and provides utility functions to create entities such as offscreen framebuffers, render passes, pipelines, textures, and storage buffers. All the functions described here will be used in the subsequent recipes.
Getting ready
The largest part of our resource management scene, which includes creating the descriptor set and update routines, is not included in this recipe. See the Unifying descriptor set creation routines recipe for additional implementation details.
How to do it...
The VulkanResources
class contains a list of all the Vulkan objects. Its private part, along with a reference to VulkanRenderDevice
, contains various std::vector
members for storing our whole safari park of Vulkan objects. Let's take a look:
- First, we must store all...