vOOlkan
An object oriented approach to Vulkan
Vulkan::PipelineOptions::RenderPass Class Reference

A RenderPass is the set of attachments, the way they are used, and the rendering work that is performed using them. More...

#include <RenderPass.h>

Public Member Functions

template<std::same_as< RenderPassOptions::Subpass >... S>
 RenderPass (const LogicalDevice &virtualGpu, const std::vector< RenderPassOptions::AttachmentDescription::BoundAttachmentDescription > &attachments, const S &... subpasses)
 Creates a RenderPass given its Subpass(es) and its BoundAttachmentDescription(s). More...
 
 RenderPass (const RenderPass &)=delete
 
 RenderPass (RenderPass &&)=delete
 
RenderPassoperator= (const RenderPass &)=delete
 
RenderPassoperator= (RenderPass &&)=delete
 
 ~RenderPass ()
 
const VkRenderPass & operator+ () const
 Returns the underlying VkRenderPass object. More...
 
RenderPassOptions::Subpass getSubpass (unsigned int i) const
 Returns the subpasses of this render pass. More...
 
int getAttachmentCount () const
 

Detailed Description

A RenderPass is the set of attachments, the way they are used, and the rendering work that is performed using them.

Constructor & Destructor Documentation

◆ RenderPass() [1/3]

template<std::same_as< RenderPassOptions::Subpass >... S>
Vulkan::PipelineOptions::RenderPass::RenderPass ( const LogicalDevice virtualGpu,
const std::vector< RenderPassOptions::AttachmentDescription::BoundAttachmentDescription > &  attachments,
const S &...  subpasses 
)
inline

Creates a RenderPass given its Subpass(es) and its BoundAttachmentDescription(s).

It is of "paramount importance" (°_^) that the bound attachments passed as argument is a superset of the bound attachments used for the creation of the Subpass(es) for this render pass. Moreover each bound attachment should have a unique index, and, given N attachments are used, indexes should go from 0 to N-1. BoundAttachmentDescription(s) generated by AttachmentDescription::prepareAttachments follow this property.

Parameters
virtualGpuThe LogicalDevice whose pipelines will use this render pass.
attachmentsThe attachments used by the render Subpass(es) of this render pass.
...subpassesThe Subpass(es) of this render pass.
Template Parameters
SSubpass

◆ RenderPass() [2/3]

Vulkan::PipelineOptions::RenderPass::RenderPass ( const RenderPass )
delete

◆ RenderPass() [3/3]

Vulkan::PipelineOptions::RenderPass::RenderPass ( RenderPass &&  )
delete

◆ ~RenderPass()

Vulkan::PipelineOptions::RenderPass::~RenderPass ( )
inline

Member Function Documentation

◆ getAttachmentCount()

int Vulkan::PipelineOptions::RenderPass::getAttachmentCount ( ) const
inline

◆ getSubpass()

RenderPassOptions::Subpass Vulkan::PipelineOptions::RenderPass::getSubpass ( unsigned int  i) const
inline

Returns the subpasses of this render pass.

Returns
The subpasses of this render pass.

◆ operator+()

const VkRenderPass & Vulkan::PipelineOptions::RenderPass::operator+ ( ) const
inline

Returns the underlying VkRenderPass object.

Returns
The underlying VkRenderPass object.

◆ operator=() [1/2]

RenderPass & Vulkan::PipelineOptions::RenderPass::operator= ( const RenderPass )
delete

◆ operator=() [2/2]

RenderPass & Vulkan::PipelineOptions::RenderPass::operator= ( RenderPass &&  )
delete

The documentation for this class was generated from the following file: