Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
graph/include/dofpass.h

43 lines
932 B
C
Raw Normal View History

2018-11-03 07:24:32 -04:00
#pragma once
#include <vulkan/vulkan.h>
class Renderer;
struct RenderTarget;
2018-12-19 12:19:52 -05:00
struct CameraComponent;
2018-11-03 07:24:32 -04:00
class DoFPass {
public:
DoFPass(Renderer& renderer);
~DoFPass();
2018-12-19 12:19:52 -05:00
void render(VkCommandBuffer commandBuffer, CameraComponent& camera, RenderTarget* target);
2018-11-03 07:24:32 -04:00
void createDescriptorSet(RenderTarget* target);
2018-11-03 07:24:32 -04:00
VkRenderPass getRenderPass() const {
return renderPass_;
}
2018-11-03 07:24:32 -04:00
private:
void createRenderPass();
void createDescriptorSetLayout();
void createPipeline();
void createBokehImage();
void createDescriptorSet();
2018-11-03 07:24:32 -04:00
VkRenderPass renderPass_ = nullptr;
2018-11-03 07:24:32 -04:00
VkDescriptorSetLayout setLayout_ = nullptr;
2018-11-03 07:24:32 -04:00
VkPipelineLayout pipelineLayout_ = nullptr;
VkPipeline pipeline_ = nullptr;
2018-11-03 07:24:32 -04:00
VkImage bokehImage_ = nullptr;
VkDeviceMemory bokehMemory_ = nullptr;
VkImageView bokehImageView_ = nullptr;
VkSampler bokehSampler_ = nullptr;
2018-11-03 07:24:32 -04:00
Renderer& renderer_;
};