#pragma once #include #include #include class Buffer; enum class DescriptorSet { WORLD, SIMULATION, MESH }; class DescriptorPool { public: DescriptorPool(); ~DescriptorPool(); void bindBuffer(const Buffer& buffer, VkDescriptorType type, DescriptorSet set, uint32_t binding); std::map sets; std::map layouts; private: VkDescriptorPool handle = VK_NULL_HANDLE; void createLayout(DescriptorSet set, const std::vector &bindings); };