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¶
| Name | Description |
|---|---|
Builder<TShaderProgram, std::nullptr_t, SharedPtr<TShaderProgram>> | Describes an generic builder type. |
Type Aliases¶
Member Functions¶
| Name | Description |
|---|---|
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¶
| Name |
|---|
Unnamed using |
Protected Member Functions¶
| Name | Description |
|---|---|
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¶
| Name | Description |
|---|---|
| TShaderProgram | The type of the shader program. Must implement ShaderProgram. |
Derived Classes¶
| Name | Description |
|---|---|
DirectX12ShaderProgramBuilder | Builds a DirectX 12 ShaderProgram. |
VulkanShaderProgramBuilder | Builds a Vulkan ShaderProgram. |
See Also¶
ShaderProgram