#pragma once
#include <vulkan/vulkan.h>
class Renderer;
struct RenderTarget;
class PostPass {
public:
PostPass(Renderer& renderer);
~PostPass();
void render(VkCommandBuffer commandBuffer, RenderTarget* target);
void createDescriptorSet(RenderTarget* target);
private:
void createDescriptorSetLayout();
void createPipeline();
void createSampler();
Renderer& renderer_;
VkDescriptorSetLayout setLayout_ = nullptr;
VkPipelineLayout pipelineLayout_ = nullptr;
VkPipeline pipeline_ = nullptr;
VkSampler offscreenSampler_ = nullptr;
};