Skip to content

LiteFX::Rendering::RenderPass

Represents a render pass.

Synopsis

Declared in <litefx/rendering.hpp>

class RenderPass
    : public virtual StateResource
    , public IRenderPass

Description

A render pass is a conceptual layer, that may not have any logical representation within the actual implementation. It is a high-level view on a specific workload on the GPU, that processes data using different RenderPipeline "RenderPipelines" and stores the outputs in the IRenderTarget "IRenderTargets" of a FrameBuffer.

Base Classes

NameDescription
StateResourceBase class for a resource that can be identified by a name string within a DeviceState.
IRenderPassThe interface for a render pass.

Types

NameDescription
BeginEventArgs Event arguments that are published to subscribers when a render pass is beginning.

Type Aliases

Member Functions

NameDescription
~RenderPass [destructor] [virtual]Destructor
activeFrameBuffer [virtual]Returns the current frame buffer from of the render pass.
begin Begins the render pass.
commandBuffer [virtual]Returns a command buffer that can be currently used for recording multi-threaded commands in the render pass.
commandBuffers [virtual]Returns all command buffers, that can be currently used for recording multi-threaded commands in the render pass.
commandQueue [virtual]Returns the command queue, the render pass is executing on or nullptr, if the queue has already been released.
end [virtual]Ends the render pass.
hasPresentTarget [virtual]Returns true, if one of the render targets is used for presentation on a swap chain.
inputAttachment [virtual]Returns the input attachment at a location.
inputAttachmentSamplerBinding [virtual]Returns the binding point for input attachment samplers.
inputAttachments [virtual]Returns the input attachment the render pass is consuming.
name [virtual]Returns the name of the resource.
renderTarget [virtual]Returns the render target mapped to the location provided by location.
renderTargets [virtual]Returns the list of render targets, the render pass renders into.
secondaryCommandBuffers [virtual]Returns the number of secondary command buffers the render pass stores for multi-threaded command recording.
shared_from_this Returns a shared pointer to the current object instance.
viewMask [virtual]Returns the mask that identifies the views that are enabled during rendering.
weak_from_this Returns a weak pointer to the current object instance.

Data Members

NameDescription
beginning Invoked, when the render pass is beginning.
ending Invoked, when the render pass is ending.

Protected Types

NameDescription
Allocator An allocator used to allocate the shared object.

Protected Member Functions

NameDescription
RenderPass [constructor]Constructors
operator= Assignment operators
name Returns the name of the resource.

Protected Static Member Functions

NameDescription
create Generic factory method used to create instances of the shared object.

Template Parameters

NameDescription
TRenderPipelineThe type of the render pipeline. Must implement RenderPipeline.
TCommandQueueThe type of the command queue. Must implement CommandQueue.
TFrameBufferThe type of the frame buffer. Must implement FrameBuffer.