Workspace 6.21.5
|
Template shader class that manages the mapping between a shader type and the its renderer-specific implementations. More...
#include <Rendering/SceneComponents/Shaders/typedshader.h>
Public Member Functions | |
~TypedShader () override=default | |
Public Member Functions inherited from Shader | |
~Shader () override | |
bool | activate (SceneRenderer &renderer) |
Activates the shader on the target WSGLRenderer in preparation for drawing an object. | |
virtual bool | appliesScreenSpaceAmbientOcclusion () |
virtual bool | appliesSpecular () |
virtual bool | appliesTransparency () const =0 |
Shader * | clone () const override=0 |
bool | deactivate (SceneRenderer &renderer) |
Deactivates the shader on the target WSGLRenderer, setting it back to the state it was in before the shader was bound. | |
int | getId () const |
Mesh::MeshModelSource::MeshModelInterfaceLockedPtr | getMeshModelInterface (const QString &modelId, Mesh::MeshModelLibrary &modelLib) |
bool | getModelSourceUpdateRequested () const |
bool | getOptimizeOutInternalVolumeElements () const |
double | getSegmentLineWidth () const |
virtual Texturizer & | getTexturizer () |
virtual const Texturizer & | getTexturizer () const |
bool | renderCurrentModel (SceneRenderer &renderer) |
Renders the model currently being processed by the specified renderer.s. | |
bool | renderCurrentModelGlyphs (SceneRenderer &renderer) |
void | setOptimizeOutInternalVolumeElements (bool val) |
void | setSegmentLineWidth (double width) |
Public Member Functions inherited from Clonable | |
virtual | ~Clonable ()=default |
virtual Clonable * | clone () const =0 |
Static Public Member Functions | |
static void | registerImplementation (const SceneRendererTypeId &rendererId, const ShaderImplementationFactory &factory) |
Protected Member Functions | |
TypedShader () | |
TypedShader (const TypedShader &shader) | |
TypedShader * | clone () const override=0 |
Protected Member Functions inherited from Shader | |
Shader () | |
Shader (const Shader &shader) | |
void | addImplementation (const SceneRendererContext &context, ShaderImplementation &impl) |
void | setId (int id) |
Each TypedShader provides a function to register a given ShaderImplementation type as the implementation of this shader for a specific renderer. It is recommended that all shader types derive from this class.
Derived | The specific typedshader derived class. This class will contain the members required by all implementations of the shader. |
|
inlineprotected |
|
inlineprotected |
|
overridedefault |
|
overrideprotectedpure virtual |
Implements Shader.
Implemented in BillboardImageShader, BlinnPhongShader, ColorStateShader, DepthShader, ElementColoringShader, HighlightElementShader, HighlightNodeShader, LambertShader, LineOfSightShader, NodeColoringShader, NormalShader, OctreeShader, SymbolShader, TextureCoordShader, TextureProjectionShader, and VolumeShader.
|
static |
Registers the specific implementation factory with the target renderer type; meaning that whenever this renderer activates the shader, a ShaderImplementation of the type generated by the factory will be used.
rendererId | The type id of the renderer that this implementation will be used for. |
factory | The factory that will be used to create implementations for the target renderer if / when needed. |