#pragma once #include <stdafx.h> namespace fpr { struct RenderPassOptions { std::vector<vk::AttachmentDescription> attachments; std::vector<vk::AttachmentReference> color_attachment_refs; vk::AttachmentReference depth_attachment_ref; std::vector<vk::SubpassDependency> dependencies; }; class Device; class RenderPass { vk::UniqueRenderPass m_render_pass; public: vk::RenderPass& GetvkRenderPass() FPR_NOEXCEPT; static RenderPassOptions MakeDefaultRenderPass(vk::Format swapchain_format, vk::Format depth_format); static RenderPassOptions MakeDefaultDepthPass(vk::Format depth_format); RenderPass(const RenderPassOptions& options, fpr::Device* device); RenderPass(const RenderPass& other) = delete; RenderPass(const RenderPass&& other) = delete; RenderPass operator=(const RenderPass& other) = delete; RenderPass operator=(const RenderPass&& other) = delete; }; } // namespace fpr