Files
sophia/engine/src/descriptors/descriptor_writer.hpp
T

29 lines
673 B
C++

#pragma once
#include <vector>
#include "descriptor_pool.hpp"
#include "descriptor_set_layout.hpp"
#include "device.hpp"
namespace sophia {
class DescriptorWriter {
public:
DescriptorWriter(DescriptorSetLayout& setLayout, DescriptorPool& pool);
DescriptorWriter& writeBuffer(u32 binding,
vk::DescriptorBufferInfo* bufferInfo);
DescriptorWriter& writeImage(u32 binding, vk::DescriptorImageInfo* imageInfo);
bool build(vk::DescriptorSet& set);
void overwrite(vk::DescriptorSet& set);
private:
DescriptorSetLayout& setLayout;
DescriptorPool& pool;
std::vector<vk::WriteDescriptorSet> writes;
};
} // namespace sophia