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

A basic lambertian shader which can be attached to meshmodels.

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

Inheritance diagram for BillboardImageShader:
[legend]

Public Member Functions

 BillboardImageShader ()
 
 BillboardImageShader (const BillboardImageShader &shader)
 
 ~BillboardImageShader () override
 
bool alphaBlendImages () const
 
bool appliesScreenSpaceAmbientOcclusion () override
 
bool appliesTransparency () const override
 
BillboardImageShaderclone () const override
 
const Mesh::NodeMappergetImageIndexMapper () const
 
const TexturizergetTexturizer () const override
 
TexturizergetTexturizer () override
 
BillboardImageShaderoperator= (const BillboardImageShader &shader)
 
void setAlphaBlendImages (bool enabled)
 
void setImageIndexMapper (const Mesh::NodeMapper &mapper)
 
void setTexturizer (Texturizer &texturizer)
 
- Public Member Functions inherited from TypedShader< BillboardImageShader >
 ~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< BillboardImageShader >
static void registerImplementation (const SceneRendererTypeId &rendererId, const ShaderImplementationFactory &factory)
 
- Protected Member Functions inherited from TypedShader< BillboardImageShader >
 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

◆ BillboardImageShader() [1/2]

◆ BillboardImageShader() [2/2]

◆ ~BillboardImageShader()

~BillboardImageShader ( )
override

Member Function Documentation

◆ alphaBlendImages()

bool alphaBlendImages ( ) const

◆ appliesScreenSpaceAmbientOcclusion()

bool appliesScreenSpaceAmbientOcclusion ( )
overridevirtual

Sub-classes only need to overide this if they can apply Screen Space Ambient Occlusion

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()

BillboardImageShader * 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< BillboardImageShader >.

◆ getImageIndexMapper()

const Mesh::NodeMapper & getImageIndexMapper ( ) 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=()

BillboardImageShader & operator= ( const BillboardImageShader shader)

◆ setAlphaBlendImages()

void setAlphaBlendImages ( bool  enabled)

◆ setImageIndexMapper()

void setImageIndexMapper ( const Mesh::NodeMapper mapper)

◆ setTexturizer()

void setTexturizer ( Texturizer texturizer)