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

Base class for shader implementations. Associated with a specific factory. More...

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

Inheritance diagram for ShaderImplementation:
[legend]

Public Member Functions

virtual ~ShaderImplementation ()=default
 
virtual bool activate (SceneRenderer &renderer)=0
 Activates the shader on the target renderer. Subclasses must override this function with an implementation to contains the renderer-specific activation code they need.
 
virtual bool deactivate (SceneRenderer &renderer)=0
 Dectivates the shader on the target renderer. Subclasses must override this function with an implementation to contains the renderer-specific activation code they need.
 
virtual const ShaderImplementationFactorygetFactory () const =0
 
virtual bool renderCurrentModel (SceneRenderer &renderer)=0
 Using the target renderer, render the current model.
 
virtual bool renderCurrentModelGlyphs (SceneRenderer &renderer)=0
 Using the target renderer, render the current model's glyphs.
 

Protected Member Functions

 ShaderImplementation ()=default
 

Detailed Description

Note
The architecture guarantees that a unique ShaderImplementation object will be created for each SceneRendererContext. This means that ShaderImplementation writers can safely store context specific state with the knowledge that the implementation will be used only on that one context.

Constructor & Destructor Documentation

◆ ShaderImplementation()

ShaderImplementation ( )
protecteddefault

◆ ~ShaderImplementation()

virtual ~ShaderImplementation ( )
virtualdefault

Member Function Documentation

◆ activate()

virtual bool activate ( SceneRenderer renderer)
pure virtual

◆ deactivate()

virtual bool deactivate ( SceneRenderer renderer)
pure virtual

◆ getFactory()

virtual const ShaderImplementationFactory & getFactory ( ) const
pure virtual

◆ renderCurrentModel()

virtual bool renderCurrentModel ( SceneRenderer renderer)
pure virtual

◆ renderCurrentModelGlyphs()

virtual bool renderCurrentModelGlyphs ( SceneRenderer renderer)
pure virtual