LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl Class Reference

Public Member Functions

 VulkanRenderPipelineImpl (const VulkanRenderPass &renderPass, bool alphaToCoverage, const SharedPtr< VulkanPipelineLayout > &layout, const SharedPtr< VulkanShaderProgram > &shaderProgram, const SharedPtr< VulkanInputAssembler > &inputAssembler, const SharedPtr< VulkanRasterizer > &rasterizer)
 
 VulkanRenderPipelineImpl (const VulkanRenderPass &renderPass)
 
 VulkanRenderPipelineImpl (VulkanRenderPipelineImpl &&) noexcept=delete
 
 VulkanRenderPipelineImpl (const VulkanRenderPipelineImpl &)=delete
 
VulkanRenderPipelineImploperator= (VulkanRenderPipelineImpl &&) noexcept=delete
 
VulkanRenderPipelineImploperator= (const VulkanRenderPipelineImpl &)=delete
 
 ~VulkanRenderPipelineImpl ()
 
VkPipeline initialize (const VulkanRenderPipeline &parent, MultiSamplingLevel samples)
 
VkPipeline initializeGraphicsPipeline (const VulkanRenderPipeline &parent, const VkPipelineDynamicStateCreateInfo &dynamicState, const LiteFX::Array< VkPipelineShaderStageCreateInfo > &shaderStages)
 
void initializeInputAttachmentBindings (const VulkanFrameBuffer &frameBuffer)
 
void allocateInputAttachmentBindings (const std::ranges::input_range auto &descriptorSets, const VulkanFrameBuffer &frameBuffer)
 
void updateInputAttachmentBindings (const VulkanFrameBuffer &frameBuffer)
 
void bindInputAttachments (const VulkanRenderPipeline &parent, const VulkanCommandBuffer &commandBuffer)
 
void onFrameBufferResize (const void *sender, const IFrameBuffer::ResizeEventArgs &)
 
void onFrameBufferRelease (const void *sender, const IFrameBuffer::ReleasedEventArgs &)
 

Friends

class VulkanRenderPipelineBuilder
 
class VulkanRenderPipeline
 

Constructor & Destructor Documentation

◆ VulkanRenderPipelineImpl() [1/4]

LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::VulkanRenderPipelineImpl ( const VulkanRenderPass & renderPass,
bool alphaToCoverage,
const SharedPtr< VulkanPipelineLayout > & layout,
const SharedPtr< VulkanShaderProgram > & shaderProgram,
const SharedPtr< VulkanInputAssembler > & inputAssembler,
const SharedPtr< VulkanRasterizer > & rasterizer )
inline

◆ VulkanRenderPipelineImpl() [2/4]

LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::VulkanRenderPipelineImpl ( const VulkanRenderPass & renderPass)
inline

◆ VulkanRenderPipelineImpl() [3/4]

LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::VulkanRenderPipelineImpl ( VulkanRenderPipelineImpl && )
deletenoexcept

◆ VulkanRenderPipelineImpl() [4/4]

LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::VulkanRenderPipelineImpl ( const VulkanRenderPipelineImpl & )
delete

◆ ~VulkanRenderPipelineImpl()

LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::~VulkanRenderPipelineImpl ( )
inline

Member Function Documentation

◆ allocateInputAttachmentBindings()

void LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::allocateInputAttachmentBindings ( const std::ranges::input_range auto & descriptorSets,
const VulkanFrameBuffer & frameBuffer )
inline

◆ bindInputAttachments()

void LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::bindInputAttachments ( const VulkanRenderPipeline & parent,
const VulkanCommandBuffer & commandBuffer )
inline

◆ initialize()

VkPipeline LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::initialize ( const VulkanRenderPipeline & parent,
MultiSamplingLevel samples )
inline

◆ initializeGraphicsPipeline()

VkPipeline LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::initializeGraphicsPipeline ( const VulkanRenderPipeline & parent,
const VkPipelineDynamicStateCreateInfo & dynamicState,
const LiteFX::Array< VkPipelineShaderStageCreateInfo > & shaderStages )
inline

◆ initializeInputAttachmentBindings()

void LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::initializeInputAttachmentBindings ( const VulkanFrameBuffer & frameBuffer)
inline

◆ onFrameBufferRelease()

void LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::onFrameBufferRelease ( const void * sender,
const IFrameBuffer::ReleasedEventArgs &  )
inline

◆ onFrameBufferResize()

void LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::onFrameBufferResize ( const void * sender,
const IFrameBuffer::ResizeEventArgs &  )
inline

◆ operator=() [1/2]

VulkanRenderPipelineImpl & LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::operator= ( const VulkanRenderPipelineImpl & )
delete

◆ operator=() [2/2]

VulkanRenderPipelineImpl & LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::operator= ( VulkanRenderPipelineImpl && )
deletenoexcept

◆ updateInputAttachmentBindings()

void LiteFX::Rendering::Backends::VulkanRenderPipeline::VulkanRenderPipelineImpl::updateInputAttachmentBindings ( const VulkanFrameBuffer & frameBuffer)
inline

Friends And Related Symbol Documentation

◆ VulkanRenderPipeline

friend class VulkanRenderPipeline
friend

◆ VulkanRenderPipelineBuilder

friend class VulkanRenderPipelineBuilder
friend