Workspace 6.21.5
Public Member Functions | List of all members
ShaderImplementationFactory Class Referenceabstract

#include <Rendering/SceneComponents/Shaders/shaderimplementationfactory.h>

Inheritance diagram for ShaderImplementationFactory:
[legend]

Public Member Functions

virtual ~ShaderImplementationFactory ()=default
 
virtual ShaderImplementationcreate (Shader &shader) const =0
 
virtual void destroy (ShaderImplementation *impl) const =0
 
virtual const Application::WorkspacePlugingetPlugin () const =0
 
virtual const SceneRendererTypeIdgetSceneRendererTypeId () const =0
 
virtual QString getType () const =0
 

Detailed Description

Base class for a factory that creates ShaderImplementations of a particular type.

Constructor & Destructor Documentation

◆ ~ShaderImplementationFactory()

virtual ~ShaderImplementationFactory ( )
virtualdefault

Member Function Documentation

◆ create()

virtual ShaderImplementation * create ( Shader shader) const
pure virtual
Returns
Create a new instance of a shader implementation parented to the specific shader.

Implemented in TypedShaderImplementationFactory< T >.

◆ destroy()

virtual void destroy ( ShaderImplementation impl) const
pure virtual

Destroy the shader implementation; releasing the memory it occupies.

Implemented in TypedShaderImplementationFactory< T >.

◆ getPlugin()

virtual const Application::WorkspacePlugin & getPlugin ( ) const
pure virtual
Returns
The plugin associated with this implementation factory.

Implemented in TypedShaderImplementationFactory< T >, and TypedShaderImplementationFactory< T >.

◆ getSceneRendererTypeId()

virtual const SceneRendererTypeId & getSceneRendererTypeId ( ) const
pure virtual
Returns
The SceneRenderer associated with this specific shader implementation type.

Implemented in TypedShaderImplementationFactory< T >, and TypedShaderImplementationFactory< T >.

◆ getType()

virtual QString getType ( ) const
pure virtual
Returns
The datatype returned by this shader implementation factory.

Implemented in TypedShaderImplementationFactory< T >, and TypedShaderImplementationFactory< T >.