Kanzi  3.9.8
Kanzi Engine C++ API
kanzi::ShadowEffectRenderer2D Class Reference

Shadow effect renderer class. More...

#include <kanzi/core.ui/effect/shadow_effect_renderer2d.hpp>

Inheritance diagram for kanzi::ShadowEffectRenderer2D:
[legend]

Public Member Functions

void setBlurRadius (float radius)
 Sets the pixel radius of the blur to use for the shadow. More...
 
void setColor (ColorRGBA color)
 Sets the premultiplied color of the shadow. More...
 
void setQuality (ShadowEffect2D::Quality quality)
 Sets the quality of the shadow. More...
 
void setShadowBlendMode (optional< int > blendMode)
 Sets the blend mode override used for rendering the shadow. More...
 
void setShadowOffset (Vector2 offset)
 Sets the 2D offset in pixels for the blurred shadow. More...
 
void setShadowOnly (bool shadowOnly)
 Sets the shadow-only mode. More...
 
void setType (ShadowEffect2D::Type type)
 Sets the shadow type. More...
 
bool supportsBlitBlendMode (int blendMode) override
 NodeEffectRenderer2D::supportsBlitBlendMode() implementation. More...
 
- Public Member Functions inherited from kanzi::NodeEffectRenderer2D
void applyEffect (Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager, const Matrix3x3 &worldTransform, const CompositionContentRequirements &requirements, TextureSharedPtr sourceContent)
 Applies the effect on the source content provided as texture. More...
 
void beginEffect (Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager, const Matrix3x3 &worldTransform, const CompositionContentRequirements &requirements)
 Begins the effect. More...
 
void blitEffect (Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager, const QuadDescription &effectQuad, const Matrix3x3 &transform, const Matrix4x4 *perspectiveMatrix, const Matrix4x4 *projectionMatrix, int blendMode, bool needsClear)
 Blits the effect to the current framebuffer. More...
 
void endEffect (Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager)
 Ends the effect. More...
 
NodeEffect2DSharedPtr getEffect () const
 Get NodeEffect2D instance where this renderer has been instantiated from. More...
 
size_t getEffectPassCount () const
 Gets the number of effect passes. More...
 
bool isLayeredOnTop () const
 Whether a compatible effect renders logically on top of its source content. More...
 
bool isRenderEffectOnlyEnabled () const
 Whether the effect only mode is enabled. More...
 
void restoreResources ()
 Restores resources after the rendering context has been lost. More...
 
void setRenderEffectOnly (bool renderEffectOnly)
 Sets the render effect only mode. More...
 
virtual ~NodeEffectRenderer2D ()
 Declare NodeEffectRenderer2D as not movable nor copyable. More...
 

Static Public Member Functions

static ShadowEffectRenderer2DUniquePtr create (ShadowEffect2DSharedPtr shadowEffect)
 Creates instances of ShadowEffectRenderer2D. More...
 

Additional Inherited Members

- Protected Types inherited from kanzi::NodeEffectRenderer2D
using EffectPassContainer = vector< EffectPass >
 Container for effect passes. More...
 
- Protected Member Functions inherited from kanzi::NodeEffectRenderer2D
EffectPassaddEffectPass ()
 Adds an effect pass and gets a reference to that pass. More...
 
void beginInitialEffectPass (Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager, const CompositionContentRequirements &requirements)
 Begins the initial effect pass (effect pass at index 0). More...
 
void blitEffectPass (int effectPassIndex, Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager, const QuadDescription &effectQuad, const Matrix3x3 &transform, const Matrix4x4 *perspectiveMatrix, const Matrix4x4 *projectionMatrix, int blendMode, bool needsClear)
 Blits the effect pass and handles the perspective transform if necessary. More...
 
void blitFinalEffectPass (Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager, const QuadDescription &effectQuad, const Matrix3x3 &transform, const Matrix4x4 *perspectiveMatrix, const Matrix4x4 *projectionMatrix, int blendMode, bool needsClear)
 Blits the final effect pass, whose index is getEffectPassCount() - 1, and handles the perspective transform if necessary. More...
 
void blitIntermediateEffectPass (int effectPassIndex, Renderer3D &renderer, CompositionStack &compositionStack, CompositionManager *compositionManager)
 Blits the intermediate effect pass. More...
 
void clearRenderTarget (Renderer3D &renderer, CompositionStack &compositionStack, TextureSharedPtr texture, ColorRGBA clearColor)
 Clears the render target texture with a given color. More...
 
void clearRenderTarget (Renderer3D &renderer, CompositionStack &compositionStack, NativeFramebufferHandle framebufferHandle, ColorRGBA clearColor)
 Clears the native framebuffer with a given color. More...
 
void configureInitialEffectPass (Vector2 sourceContentSize)
 Configures the initial effect pass. More...
 
void endInitialEffectPass (CompositionStack &compositionStack)
 Ends the initial effect pass, whose index is 0. More...
 
void finalizeEffectPasses ()
 Finalizes the effect passes. More...
 
Vector2 getEffectInputTexelSize (int effectPassIndex, int inputIndex)
 Gets the texel size of the input effect pass texture in texture coordinates. More...
 
EffectPassgetEffectPass (int index)
 Gets a reference to the effect pass at a given index. More...
 
int getLastEffectPassIndex () const
 Gets the index of the last effect pass. More...
 
bool isInitialPassRenderTargetTemporary () const
 Whether the initial pass render target is temporary. More...
 
 NodeEffectRenderer2D (NodeEffect2DSharedPtr nodeEffect)
 Constructor. More...
 
void releaseEffectPassInputRenderTargets (EffectPass &currentEffectPass, CompositionManager *compositionManager)
 Releases those temporary render targets used by input that have EffectPass::Input::releaseRenderTarget set to true. More...
 
void removeAllEffectPasses ()
 Removes all user-added effect passes, but leaves the internal initial effect pass. More...
 
void setLayeredOnTop (bool layeredOnTop)
 Sets whether the effect is layered on top of the source content. More...
 
- Static Protected Attributes inherited from kanzi::NodeEffectRenderer2D
static constexpr int InitialEffectPassIndex
 Effect pass index for the initial pass. More...
 

Detailed Description

Shadow effect renderer class.

See also
ShadowEffect2D, NodeEffect2D, NodeEffectPrefab2D, NodeEffectTemplate2D
Since
Kanzi 3.9.0

Member Function Documentation

static ShadowEffectRenderer2DUniquePtr kanzi::ShadowEffectRenderer2D::create ( ShadowEffect2DSharedPtr  shadowEffect)
static

Creates instances of ShadowEffectRenderer2D.

Parameters
shadowEffectThe ShadowEffect2D instance on which this renderer is based.
Returns
ShadowEffectRenderer2D instance.
void kanzi::ShadowEffectRenderer2D::setBlurRadius ( float  radius)

Sets the pixel radius of the blur to use for the shadow.

Parameters
radiusThe blur radius in pixels.
void kanzi::ShadowEffectRenderer2D::setShadowOffset ( Vector2  offset)

Sets the 2D offset in pixels for the blurred shadow.

Parameters
offsetThe shadow offset in pixels.
void kanzi::ShadowEffectRenderer2D::setColor ( ColorRGBA  color)

Sets the premultiplied color of the shadow.

Parameters
colorThe shadow color.
void kanzi::ShadowEffectRenderer2D::setQuality ( ShadowEffect2D::Quality  quality)

Sets the quality of the shadow.

Parameters
qualityThe quality level.
void kanzi::ShadowEffectRenderer2D::setType ( ShadowEffect2D::Type  type)

Sets the shadow type.

Parameters
typeThe shadow type.
void kanzi::ShadowEffectRenderer2D::setShadowOnly ( bool  shadowOnly)

Sets the shadow-only mode.

Parameters
shadowOnlyWhether to enable the shadow-only mode.
void kanzi::ShadowEffectRenderer2D::setShadowBlendMode ( optional< int >  blendMode)

Sets the blend mode override used for rendering the shadow.

Parameters
blendModeThe blend mode override to use, or nullopt to use the default blend mode.
Since
Kanzi 3.9.8
bool kanzi::ShadowEffectRenderer2D::supportsBlitBlendMode ( int  blendMode)
overridevirtual

The documentation for this class was generated from the following file: