Skip to content

LiteFX::Rendering::RenderPipeline

Represents a graphics Pipeline.

Synopsis

Declared in <litefx/rendering.hpp>

template<
    typename TPipelineLayout,
    typename TShaderProgram,
    typename TInputAssembler,
    typename TRasterizer>
requires meta::implements<TInputAssembler, InputAssembler<typename TInputAssembler::vertex_buffer_layout_type, typename TInputAssembler::index_buffer_layout_type>> &&
        meta::implements<TRasterizer, Rasterizer>
class RenderPipeline
    : public IRenderPipeline
    , public virtual Pipeline<TPipelineLayout, TShaderProgram>

Base Classes

NameDescription
IRenderPipelineThe interface for a render pipeline.
Pipeline<TPipelineLayout, TShaderProgram>Represents a pipeline state.

Member Functions

NameDescription
alphaToCoverage [virtual]Returns true, if the pipeline uses Alpha-to-Coverage multi-sampling.
inputAssembler Returns the input assembler state used by the render pipeline.
layout Returns the layout of the render pipeline.
name [virtual]Returns the name of the resource.
program Returns the shader program used by the pipeline.
rasterizer Returns the rasterizer state used by the render pipeline.
samples [virtual]Returns the multi-sampling level of the pipeline.
updateSamples [virtual]Changes the multi-sampling level of the pipeline.

Protected Member Functions

NameDescription
operator= Assignment operators
name Returns the name of the resource.

Derived Classes

NameDescription
DirectX12RenderPipeline Implements a DirectX 12 RenderPipeline.
VulkanRenderPipeline Implements a Vulkan RenderPipeline.

Template Parameters

NameDescription
TPipelineLayoutThe type of the render pipeline layout. Must implement PipelineLayout.
TShaderProgramThe type of the shader program. Must implement ShaderProgram.
TInputAssemblerThe type of the input assembler state. Must implement InputAssembler.
TRasterizerThe type of the rasterizer state. Must implement Rasterizer.

See Also

RenderPipelineBuilder