LiteFX::Rendering::ShaderProgram
Represents a shader program, consisting of multiple IShaderModule "IShaderModules".
Synopsis
Declared in <litefx/rendering.hpp>
template<typename TShaderModule>
requires meta::implements<TShaderModule, IShaderModule>
class ShaderProgram
: public IShaderProgram
Base Classes
Type Aliases
Member Functions
| Name | Description |
~ShaderProgram [destructor] [virtual] | Destructor |
operator= | Assignment operators |
buildShaderRecordCollection | Builds a shader record collection based on the current shader program. |
contains | contains overloads |
modules [virtual] | Returns the modules, the shader program is build from. |
operator[] | Returns a pointer to shader module based on its (case-sensitive) name. |
reflectPipelineLayout | Uses shader reflection to extract the pipeline layout of a shader. May not be available in all backends. |
shared_from_this | Returns a shared pointer to the current object instance. |
weak_from_this | Returns a weak pointer to the current object instance. |
Protected Types
| Name | Description |
Allocator | An allocator used to allocate the shared object. |
Protected Member Functions
Protected Static Member Functions
| Name | Description |
create | Generic factory method used to create instances of the shared object. |
Template Parameters
| Name | Description |
| TShaderModule | The type of the shader module. Must implement IShaderModule. |
Derived Classes
See Also
https://github.com/crud89/LiteFX/wiki/Shader-Development