Workspace 6.21.5
Public Member Functions | List of all members
LambertShader Class Reference

A basic lambertian shader which can be attached to meshmodels.

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

Inheritance diagram for LambertShader:
[legend]

Public Member Functions

 LambertShader ()
 
 LambertShader (const LambertShader &shader)
 
 ~LambertShader () override
 
bool appliesScreenSpaceAmbientOcclusion () override
 
bool appliesTransparency () const override
 
LambertShaderclone () const override
 
bool getAlphaBlendTextures () const
 
const QColor & getColor () const
 
const Mesh::NodeMappergetImageIndexMapper () const
 
bool getLightingEnabled () const
 
SurfaceRepresentation getSurfaceRepresentation () const
 
const TexturizergetTexturizer () const override
 
TexturizergetTexturizer () override
 
LambertShaderoperator= (const LambertShader &shader)
 
void setAlphaBlendTextures (bool b)
 
void setColor (const QColor &color) const
 
void setImageIndexMapper (const Mesh::NodeMapper &mapper)
 
void setLightingEnabled (bool b)
 
void setSurfaceRepresentation (SurfaceRepresentation r)
 
void setTexturizer (Texturizer &texturizer)
 
- Public Member Functions inherited from TypedShader< LambertShader >
 ~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
 
Shaderclone () 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 TexturizergetTexturizer ()
 
virtual const TexturizergetTexturizer () 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 Clonableclone () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from TypedShader< LambertShader >
static void registerImplementation (const SceneRendererTypeId &rendererId, const ShaderImplementationFactory &factory)
 
- Protected Member Functions inherited from TypedShader< LambertShader >
 TypedShader ()
 
 TypedShader (const TypedShader &shader)
 
TypedShaderclone () 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)
 

Constructor & Destructor Documentation

◆ LambertShader() [1/2]

◆ LambertShader() [2/2]

LambertShader ( const LambertShader shader)

◆ ~LambertShader()

~LambertShader ( )
override

Member Function Documentation

◆ appliesScreenSpaceAmbientOcclusion()

bool appliesScreenSpaceAmbientOcclusion ( )
overridevirtual
Returns
If Screen Space Ambient Occlusion is supported within the shader. Currently 3d textures are not supported.

Reimplemented from Shader.

◆ appliesTransparency()

bool appliesTransparency ( ) const
overridevirtual

Subclasses must override this to specify whether they apply transparency to objects or not when they are enabled.

Implements Shader.

◆ clone()

LambertShader * clone ( ) const
overridevirtual
Returns
A clone of this object.
Note
Subclasses would normally return their own type rather than the Clonable type. The C++ language rules allow a more derived type to be returned from a virtual function and the compiler will still treat it as a valid override.

Implements TypedShader< LambertShader >.

◆ getAlphaBlendTextures()

bool getAlphaBlendTextures ( ) const

◆ getColor()

const QColor & getColor ( ) const

◆ getImageIndexMapper()

const Mesh::NodeMapper & getImageIndexMapper ( ) const

◆ getLightingEnabled()

bool getLightingEnabled ( ) const

◆ getSurfaceRepresentation()

SurfaceRepresentation getSurfaceRepresentation ( ) const

◆ getTexturizer() [1/2]

const Texturizer & getTexturizer ( ) const
overridevirtual
Returns
Texturizer used by this shader. NoTexture Texturizer will be returned if shader doesn't use any.

Reimplemented from Shader.

◆ getTexturizer() [2/2]

Texturizer & getTexturizer ( )
overridevirtual
Returns
Texturizer used by this shader. NoTexture Texturizer will be returned if shader doesn't use any.

Reimplemented from Shader.

◆ operator=()

LambertShader & operator= ( const LambertShader shader)

◆ setAlphaBlendTextures()

void setAlphaBlendTextures ( bool  b)

◆ setColor()

void setColor ( const QColor &  color) const

◆ setImageIndexMapper()

void setImageIndexMapper ( const Mesh::NodeMapper mapper)

◆ setLightingEnabled()

void setLightingEnabled ( bool  b)

◆ setSurfaceRepresentation()

void setSurfaceRepresentation ( SurfaceRepresentation  r)

◆ setTexturizer()

void setTexturizer ( Texturizer texturizer)