Skip to content

LiteFX::Rendering::ShaderProgramBuilder

Base class for a builder that builds a ShaderProgram.

Synopsis

Declared in <litefx/rendering_builders.hpp>

template<typename TShaderProgram>
requires meta::implements<TShaderProgram, ShaderProgram<typename TShaderProgram::shader_module_type>>
class ShaderProgramBuilder
    : public Builder<TShaderProgram, std::nullptr_t, SharedPtr<TShaderProgram>>

Base Classes

NameDescription
Builder<TShaderProgram, std::nullptr_t, SharedPtr<TShaderProgram>>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.
instance Returns a pointer to the current instance of the object that is built by the builder.
parent Returns a reference of the parent builder.
use [deleted]Called by child builders to pass a constructed object back to the parent builder.
withAmplificationShaderModule Adds a task shader module to the program.
withAnyHitShaderModule Adds an any hit shader module to the program.
withCallableShaderModule Adds a callable shader module to the program.
withClosestHitShaderModule Adds a closest hit shader module to the program.
withComputeShaderModule Adds a compute shader module to the program.
withDomainShaderModule Adds a tessellation control shader module to the program.
withFragmentShaderModule Adds a fragment shader module to the program.
withGeometryShaderModule Adds a geometry shader module to the program.
withHullShaderModule Adds a tessellation evaluation shader module to the program.
withIntersectionShaderModule Adds an intersection hit shader module to the program.
withMeshShaderModule Adds a mesh shader module to the program.
withMissShaderModule Adds a miss shader module to the program.
withPixelShaderModule Adds a fragment shader module to the program.
withRayGenerationShaderModule Adds a ray generation shader module to the program.
withShaderModule Adds a shader module to the program.
withTaskShaderModule Adds a task shader module to the program.
withTessellationControlShaderModule Adds a tessellation control shader module to the program.
withTessellationEvaluationShaderModule Adds a tessellation evaluation shader module to the program.
withVertexShaderModule Adds a vertex shader module to the program.

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.
makeShaderModule makeShaderModule overloads
state Returns the current state of the shader program.

Template Parameters

NameDescription
TShaderProgramThe type of the shader program. Must implement ShaderProgram.

Derived Classes

NameDescription
DirectX12ShaderProgramBuilder Builds a DirectX 12 ShaderProgram.
VulkanShaderProgramBuilder Builds a Vulkan ShaderProgram.

See Also

ShaderProgram