LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource > Class Template Referenceabstract

Represents a mapping between a set of IRenderTarget instances and the input attachments of a RenderPass. More...

#include <rendering.hpp>

Public Types

using input_attachment_mapping_source_type = TInputAttachmentMappingSource
 

Public Member Functions

virtual ~IInputAttachmentMapping () noexcept=default
 
virtual const input_attachment_mapping_source_typeinputAttachmentSource () const noexcept=0
 Returns the source of the input attachment render target. More...
 
virtual const RenderTargetrenderTarget () const noexcept=0
 Returns a reference of the render target that is mapped to the input attachment. More...
 
virtual const UInt32location () const noexcept=0
 Returns the location of the input attachment, the render target will be bound to. More...
 

Detailed Description

template<typename TInputAttachmentMappingSource>
requires rtti::implements<TInputAttachmentMappingSource, IInputAttachmentMappingSource<typename TInputAttachmentMappingSource::frame_buffer_type>>
class LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource >

Represents a mapping between a set of IRenderTarget instances and the input attachments of a RenderPass.

Template Parameters
TInputAttachmentMappingSourceThe type of the input attachment mapping source. Must implement IInputAttachmentMappingSource.

Member Typedef Documentation

◆ input_attachment_mapping_source_type

template<typename TInputAttachmentMappingSource >
using LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource >::input_attachment_mapping_source_type = TInputAttachmentMappingSource

Constructor & Destructor Documentation

◆ ~IInputAttachmentMapping()

template<typename TInputAttachmentMappingSource >
virtual LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource >::~IInputAttachmentMapping ( )
virtualdefaultnoexcept

Member Function Documentation

◆ inputAttachmentSource()

template<typename TInputAttachmentMappingSource >
virtual const input_attachment_mapping_source_type * LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource >::inputAttachmentSource ( ) const
pure virtualnoexcept

Returns the source of the input attachment render target.

Returns
The source of the input attachment render target.

Implemented in LiteFX::Rendering::Backends::DirectX12InputAttachmentMapping, and LiteFX::Rendering::Backends::VulkanInputAttachmentMapping.

◆ location()

template<typename TInputAttachmentMappingSource >
virtual const UInt32 & LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource >::location ( ) const
pure virtualnoexcept

Returns the location of the input attachment, the render target will be bound to.

The locations of all input attachments for a frame buffer must be within a continuous domain, starting at 0. A frame buffer validates the locations when it is initialized and will raise an exception, if a location is either not mapped or assigned multiple times.

Returns
The location of the input attachment, the render target will be bound to.

Implemented in LiteFX::Rendering::Backends::DirectX12InputAttachmentMapping, and LiteFX::Rendering::Backends::VulkanInputAttachmentMapping.

◆ renderTarget()

template<typename TInputAttachmentMappingSource >
virtual const RenderTarget & LiteFX::Rendering::IInputAttachmentMapping< TInputAttachmentMappingSource >::renderTarget ( ) const
pure virtualnoexcept

Returns a reference of the render target that is mapped to the input attachment.

Returns
A reference of the render target that is mapped to the input attachment.

Implemented in LiteFX::Rendering::Backends::DirectX12InputAttachmentMapping, and LiteFX::Rendering::Backends::VulkanInputAttachmentMapping.