Class DescriptorSetGroup#

Class Documentation#

class DescriptorSetGroup#

Public Functions

DescriptorSetGroup()#
DescriptorSetGroup(const DescriptorSetGroup&) = delete#
DescriptorSetGroup &operator=(const DescriptorSetGroup&) = delete#
DescriptorSetGroup(DescriptorSetGroup &&other) noexcept#
DescriptorSetGroup &operator=(DescriptorSetGroup &&other) noexcept#
DescriptorSetGroup &addBinding(uint32_t binding, vk::DescriptorType type, uint32_t descriptor_count, vk::ShaderStageFlags stages)#
bool create(std::shared_ptr<VulkanDevice> vulkan_device, uint32_t set_count)#
void writeBuffer(uint32_t set_index, uint32_t binding, vk::Buffer buffer, vk::DeviceSize range, vk::DeviceSize offset = 0)#
void writeImage(uint32_t set_index, uint32_t binding, vk::ImageView image_view, vk::ImageLayout image_layout, vk::Sampler sampler = nullptr)#
void writeImageArray(uint32_t set_index, uint32_t binding, std::span<const vk::DescriptorImageInfo> infos)#
void writeAccelerationStructure(uint32_t set_index, uint32_t binding, const vk::AccelerationStructureKHR &tlas)#
inline vk::DescriptorSetLayout getLayout() const#
inline const std::vector<vk::DescriptorSet> &sets() const#
void cleanUp()#
~DescriptorSetGroup()#