38 VulkanRenderPass(
const VulkanRenderPass&) =
delete;
39 VulkanRenderPass& operator=(
const VulkanRenderPass&) =
delete;
40 VulkanRenderPass(VulkanRenderPass&& other);
41 VulkanRenderPass& operator=(VulkanRenderPass&& other);
43 void ClearRenderPass();
45 void SetRenderingType(
const vc::RenderingPipelineType type);
46 vc::Error _Init()
override;
48 vc::Error BeginRenderPass(
CommandBuffer * commandBuffer,
int framebufferIndex);
52 VkRenderPass GetVkRenderPass()
const;
57 inline const vc::Vector<VkSubpassDescription> & GetSubpassDescriptions()
const {
return __subpassDescriptions; }
58 inline vc::Vector<vc::Vector<vc::Texture>> & GetAttachments() {
return __attachments; }
60 inline static VulkanRenderPass * GetVulkanRenderPass(
const vc::RenderingPipelineType type) {
return GetRenderPass(type)->DAs<VulkanRenderPass>(); }
63 vc::Error __CreateNormalRenderPass();
64 vc::Error __CreateCSMRenderPass();
65 vc::Error __CreateGuiRenderPass();
66 vc::Error __CreateDeferredShadowRenderPass();
68 void __AddAttachment(
const VkFormat format,
const VkImageLayout layout,
const VkAttachmentLoadOp loadOp,
const VkAttachmentStoreOp storeOp,
const VkImageLayout initalLayout,
bool resolve);
69 void __SolveAttachmentReferences();
72 VkRenderPass __renderPass;
74 vc::Vector<vc::Vector<vc::Texture>> __attachments;
75 vc::Vector<Framebuffer> __framebuffers;
77 vc::Vector<VkAttachmentDescription> __attachmentDescriptions;
78 vc::Vector<VkAttachmentDescription> __resolveAttachmentDescriptions;
79 vc::Vector<VkAttachmentReference> __attachmentRefs;
80 vc::Vector<VkAttachmentReference> __resolveAttachmentRefs;
82 vc::Vector<VkSubpassDescription> __subpassDescriptions;
84 vc::Vector<VkClearValue> __clearValues;
Command Buffer class, only instanciable by VulkanCommandPool. To use them, you need to create a Vulka...
Definition CommandPool.h:58