Skip to content

LiteFX::Rendering::RenderPipelineBuilder

Describes the interface of a render pipeline builder.

Synopsis

Declared in <litefx/rendering_builders.hpp>

template<typename TRenderPipeline>
requires meta::implements<TRenderPipeline, RenderPipeline<typename TRenderPipeline::pipeline_layout_type, typename TRenderPipeline::shader_program_type, typename TRenderPipeline::input_assembler_type, typename TRenderPipeline::rasterizer_type>>
class RenderPipelineBuilder
    : public Builder<TRenderPipeline>

Base Classes

NameDescription
Builder<TRenderPipeline>Describes an generic builder type.

Type Aliases

Member Functions

NameDescription
operator= Assignment operators
add First, calls build, then use on the parent builder using the current object instance and finally returns the parent builder.
enableAlphaToCoverage Enables Alpha-to-Coverage multi-sampling on the pipeline.
inputAssembler Uses the provided input assembler state to initialize the render pipeline. Can be invoked only once.
instance Returns a pointer to the current instance of the object that is built by the builder.
layout Uses the provided pipeline layout to initialize the render pipeline. Can be invoked only once.
parent Returns a reference of the parent builder.
rasterizer Uses the provided rasterizer state to initialize the render pipeline. Can be invoked only once.
samples Sets the multi-sampling level of the render pipeline.
shaderProgram Adds a shader program to the pipeline layout.
use [deleted]Called by child builders to pass a constructed object back to the parent builder.

Using Declarations

Protected Member Functions

NameDescription
build [virtual]Can be overwritten to perform any pre-construction work before the builder returns the final object instance.
instance Returns a pointer to the current instance of the object that is built by the builder.
state Returns the current render pipeline state.

Template Parameters

NameDescription
TRenderPipelineThe type of the render pipeline. Must implement RenderPipeline.

Derived Classes

NameDescription
DirectX12RenderPipelineBuilder Builds a DirectX 12 RenderPipeline.
VulkanRenderPipelineBuilder Builds a Vulkan RenderPipeline.

See Also

RenderPipeline