VisualEffectsControl

class HPS::VisualEffectsControl : public HPS::Control

The HPS::VisualEffectsControl class is a smart pointer that is tied to a database object. This object enables you to set and unset various visual effects, such as shadows (including shadow color), reflection planes, and anti-aliasing.

Default values for the various fields of HPS::VisualEffectsControl can be found here.

Public Functions

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

VisualEffectsControl &operator=(VisualEffectsControl &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this VisualEffectsControl thereby avoiding a copy.

Parameters

in_that – An rvalue reference to a VisualEffectsControl to take the impl from.

Returns

A reference to this VisualEffectsControl.

VisualEffectsControl &operator=(VisualEffectsControl const &in_that)

Share the underlying smart-pointer of the VisualEffectsControl source.

Parameters

in_that – The VisualEffectsControl source of the assignment.

Returns

A reference to this VisualEffectsControl.

VisualEffectsControl &SetAmbientOcclusionEnabled(bool in_state)

Allows ambient occlusion to be enabled or disabled on a per segment basis.

Parameters

in_state – Whether ambient occlusion should be used.

Returns

A reference to this object.

VisualEffectsControl &SetAntiAliasing(bool in_state)

Manipulates the state of anti-aliasing(text and screen).

Deprecated:

This function exists for compatibility and SetTextAntiAliasing(bool in_state) should be preferred in general usage.

Parameters

in_state – Whether anti-aliasing(text and screen) should be used.

Returns

A reference to this object.

VisualEffectsControl &SetBloomEnabled(bool in_state)

Allows bloom to be enabled or disabled on a per segment basis.

Parameters

in_state – Whether bloom should be used.

Returns

A reference to this object.

VisualEffectsControl &SetDepthOfFieldEnabled(bool in_state)

Allows depth of field to be enabled or disabled en masse on a per segment basis.

Parameters

in_state – Whether depth of field should be used.

Returns

A reference to this object.

VisualEffectsControl &SetEyeDomeLightingBackColor(bool in_state, RGBColor const &in_color = RGBColor::Black())

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Parameters
  • in_state – Whether a back color should be used for eye dome lighting.

  • in_color – The color to use for the back of a point for eye dome lighting.

Returns

A reference to this object.

VisualEffectsControl &SetEyeDomeLightingBackColor(RGBColor const &in_color)

Sets the color to use for the back of a point in a point cloud when rendered via eye dome lighting. The state is implicitly on.

Note

For this setting to have an effect, the points in a point cloud must have normals specified.

Parameters

in_color – The color to use for the back of a point for eye dome lighting.

Returns

A reference to this object.

VisualEffectsControl &SetEyeDomeLightingEnabled(bool in_state)

Allows eye dome lighting to be enabled or disabled en masse on a per segment basis.

Parameters

in_state – Whether eye dome lighting should be used.

Returns

A reference to this object.

VisualEffectsControl &SetPostProcessEffectsEnabled(bool in_state)

Allows all post-processing effects to be enabled or disabled en masse on a per segment basis.

Parameters

in_state – Whether post-processing effects should be used.

Returns

A reference to this object.

VisualEffectsControl &SetShadowMaps(bool in_state, unsigned int in_samples = 4, unsigned int in_resolution = 1024, bool in_view_dependent = true, bool in_jitter = true)

Manipulates the state of shadow maps in the scene. A maximum of seven lights can be used with shadow maps.

Parameters
  • in_state – Whether shadow maps should be used.

  • in_samples – The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene. *

  • in_resolution – The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048. *

  • in_view_dependent – When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene. *

  • in_jitter – Turning this on causes stochastic sampling of shadow maps. This should reduce aliasing in the shadow map. *

Returns

A reference to this object.

VisualEffectsControl &SetShadowMaps(unsigned int in_samples, unsigned int in_resolution, bool in_view_dependent, bool in_jitter)

Manipulates the state of shadow maps in the scene. The state is implicitly on. A maximum of seven lights can be used with shadow maps. *

Parameters
  • in_samples – The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene. *

  • in_resolution – The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048. *

  • in_view_dependent – When enabled, the view frustum is taken into account when generating shadow maps. This results in significantly better visual quality, but at the cost of not being able to reuse shadow maps from previous frames, even if the lighting is constant with respect to the scene.

  • in_jitter – Turning this on causes stochastic sampling of shadow maps. This should reduce aliasing in the shadow map. *

Returns

A reference to this object.

VisualEffectsControl &SetSilhouetteEdgesEnabled(bool in_state)

Allows silhouette edges to be enabled or disabled on a per segment basis.

Parameters

in_state – Whether silhouette edges should be used.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleReflection(bool in_state, float in_opacity = 0.5f, unsigned int in_blurring = 1, bool in_fading = false, float in_attenuation_near_distance = 0.0f, float in_attenuation_far_distance = Float::Infinity)

Manipulates the state of simple reflections, projected onto a plane.

Parameters
  • in_state – Whether simple shadows should be used.

  • in_opacity – An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

  • in_blurring – The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

  • in_fading – Whether the reflection plane should fade as it moves away from the camera.

  • in_attenuation_near_distance – The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

  • in_attenuation_far_distance – The orthogonal distances (in world space) from the reflection plane that the model is completely faded. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleReflection(float in_opacity, unsigned int in_blurring, bool in_fading, float in_attenuation_near_distance, float in_attenuation_far_distance)

Manipulates the state of simple reflections, projected onto a plane. The state is implicitly on.

Parameters
  • in_opacity – An alpha value that sets the transparency level of the reflection plane. Valid range is [0,1] with a value of zero making the plane completely transparent.

  • in_blurring – The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

  • in_fading – Whether the reflection plane should fade as it moves away from the camera.

  • in_attenuation_near_distance – The orthogonal distances (in world space) from the reflection plane that the model begins to fade. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

  • in_attenuation_far_distance – The orthogonal distances (in world space) from the reflection plane that the model is completely faded. Attenuation begins at in_attenuation_near_distance and increases linearly such that the model is not visible in the reflection beyond in_attenuation_far_distance.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleReflectionPlane(Plane const &in_projected_onto = Plane(0.0f, 1.0f, 0.0f, 1.0f))

Manipulates the location and orientation of the plane that simple reflections are projected onto.

Parameters

in_projected_onto – The plane that simple reflections should be projected onto.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleReflectionVisibility(VisibilityKit const &in_reflected_types)

Defines the visibility settings for the model when rendered in the reflection plane.

Parameters

in_reflected_types – A collection of visibility settings that will be applied to the reflected geometry.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleShadow(bool in_state, unsigned int in_resolution = 256, unsigned int in_blurring = 1, bool in_ignore_transparency = false)

Manipulates the state of simple shadows, projected onto a plane.

Parameters
  • in_state – Whether simple shadows should be used.

  • in_resolution – The width and height of the simple shadow. Valid range is [32, 1024].

  • in_blurring – The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

  • in_ignore_transparency – Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleShadow(unsigned int in_resolution, unsigned int in_blurring, bool in_ignore_transparency)

Manipulates the state of simple shadows, projected onto a plane. The state is implicitly on.

Parameters
  • in_resolution – The width and height of the simple shadow. Valid range is [32, 1024].

  • in_blurring – The level of blurring (softening) that is applied to the shadow. Valid range is [1,31].

  • in_ignore_transparency – Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleShadowColor(RGBAColor const &in_color = RGBAColor(0.0f, 0.0f, 0.0f, 1.0f))

Sets the color that simple shadows will be rendered in.

Parameters

in_color – The color of simple shadows.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleShadowLightDirection(Vector const &in_direction = Vector(0.0f, 1.0f, 0.0f))

Sets the direction that the light source for a simple shadow is coming from.

Parameters

in_direction – The direction that the light source for a simple shadow is coming from.

Returns

A reference to this object.

VisualEffectsControl &SetSimpleShadowPlane(Plane const &in_projected_onto = Plane(0.0f, 1.0f, 0.0f, 1.0f))

Manipulates the location and orientation of the plane that simple shadows are projected onto.

Parameters

in_projected_onto – The plane that simple shadows should be projected onto.

Returns

A reference to this object.

VisualEffectsControl &SetTextAntiAliasing(bool in_state)

Manipulates the state of text anti-aliasing.

Parameters

in_state – Whether text anti-aliasing should be used.

Returns

A reference to this object.

bool ShowAmbientOcclusionEnabled(bool &out_state) const

Shows the ambient occlusion setting for the segment.

Parameters

out_state – Whether ambient occlusion is enabled.

Returns

true if the setting is valid, false otherwise.

bool ShowAntiAliasing(bool &out_state) const

Shows the anti-aliasing setting.

Deprecated:

This function exists for compatibility and ShowTextAntiAliasing(bool & out_state) should be preferred in general usage.

Parameters

out_state – Whether anti-aliasing(text and screen) should be used.

Returns

true if the setting(text and screen) is valid, false otherwise.

bool ShowBloomEnabled(bool &out_state) const

Shows the bloom setting for the segment.

Parameters

out_state – Whether bloom is enabled.

Returns

true if the setting is valid, false otherwise.

bool ShowDepthOfFieldEnabled(bool &out_state) const

Shows the depth of field setting for the segment.

Parameters

out_state – Whether depth of field is enabled.

Returns

true if the setting is valid, false otherwise.

bool ShowEyeDomeLightingBackColor(bool &out_state, RGBColor &out_color) const

Shows the eye dome lighting back color setting.

Parameters
  • out_state – Whether a back color should be used for eye dome lighting.

  • out_color – The color to use for the back of a point for eye dome lighting.

Returns

true if the setting is valid, false otherwise.

bool ShowEyeDomeLightingEnabled(bool &out_state) const

Shows the eye dome lighting setting for the segment.

Parameters

out_state – Whether eye dome lighting is enabled.

Returns

true if the setting is valid, false otherwise.

bool ShowPostProcessEffectsEnabled(bool &out_state) const

Shows the post-processing effects setting.

Parameters

out_state – Whether all post-processing effects are enabled for the segment.

Returns

true if the setting is valid, false otherwise.

bool ShowShadowMaps(bool &out_state, unsigned int &out_samples, unsigned int &out_resolution, bool &out_view_dependent, bool &out_jitter) const

Shows the shadow maps setting.

Parameters
  • out_state – Whether shadow maps should be used.

  • out_samples – The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene.

  • out_resolution – The width and height of the shadow map.

  • out_view_dependent – When enabled, the view frustum is taken into account when generating shadow maps.

  • out_jitter – Whether stochastic sampling of shadow maps should be use to reduce aliasing in the shadow map.

Returns

true if the setting is valid, false otherwise.

bool ShowSilhouetteEdgesEnabled(bool &out_state) const

Shows the silhouette edges setting for the segment.

Parameters

out_state – Whether silhouette edges are enabled.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleReflection(bool &out_state, float &out_opacity, unsigned int &out_blurring, bool &out_fading, float &out_attenuation_near_distance, float &out_attenuation_far_distance) const

Shows the simple reflection setting.

Parameters
  • out_state – Whether simple shadows should be used.

  • out_opacity – An alpha value that sets the transparency level of the reflection plane.

  • out_blurring – The level of blurring (softening) that is applied to the shadow.

  • out_fading – Whether the reflection plane should fade as it moves away from the camera.

  • out_attenuation_near_distance – The orthogonal distances (in world space) from the reflection plane that the model begins to fade.

  • out_attenuation_far_distance – The orthogonal distances (in world space) from the reflection plane that the model is completely faded.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleReflectionPlane(Plane &out_projected_onto) const

Shows the simple reflection plane setting.

Parameters

out_projected_onto – The plane that simple reflections should be projected onto.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleReflectionVisibility(VisibilityKit &out_reflected_types) const

Shows the simple shadow visibility setting.

Parameters

out_reflected_types – A collection of visibility settings that will be applied to the reflected geometry.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleShadow(bool &out_state, unsigned int &out_resolution, unsigned int &out_blurring, bool &out_ignore_transparency) const

Shows the simple shadow setting.

Parameters
  • out_state – Whether simple shadows should be used.

  • out_resolution – The width and height of the simple shadow.

  • out_blurring – The level of blurring (softening) that is applied to the shadow.

  • out_ignore_transparency – Whether any segment-level transparency setting should be ignored when rendering the simple shadow.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleShadowColor(RGBAColor &out_color) const

Shows the simple shadow color setting.

Parameters

out_color – The color of simple shadows.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleShadowLightDirection(Vector &out_direction) const

Shows the simple shadow light direction setting.

Parameters

out_direction – The direction that the light source for a simple shadow is coming from.

Returns

true if the setting is valid, false otherwise.

bool ShowSimpleShadowPlane(Plane &out_projected_onto) const

Shows the simple shadow plane setting.

Parameters

out_projected_onto – The plane that simple shadows should be projected onto.

Returns

true if the setting is valid, false otherwise.

bool ShowTextAntiAliasing(bool &out_state) const

Shows the text anti-aliasing setting.

Parameters

out_state – Whether anti-aliasing should be used.

Returns

true if the setting is valid, false otherwise.

VisualEffectsControl &UnsetAmbientOcclusionEnabled()

Removes ambient occlusion setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetAntiAliasing()

Removes any anti-alias setting(text and screen). If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Deprecated:

This function exists for compatibility and UnsetTextAntiAliasing() should be preferred in general usage.

Returns

A reference to this object.

VisualEffectsControl &UnsetBloomEnabled()

Removes any bloom setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetDepthOfFieldEnabled()

Removes any depth of field setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetEverything()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetEyeDomeLightingBackColor()

Removes any eye dome lighting back color setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetEyeDomeLightingEnabled()

Removes any eye dome lighting setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetPostProcessEffectsEnabled()

Removes any post-processing effects setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetShadowMaps()

Removes any shadow maps setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSilhouetteEdgesEnabled()

Removes any silhouette edges setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleReflection()

Removes any simple reflection setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleReflectionPlane()

Removes any simple reflection plane setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleReflectionVisibility()

Removes any simple reflection visibility setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleShadow()

Removes any simple shadow setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleShadowColor()

Removes any simple shadow color setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleShadowLightDirection()

Removes any simple shadow light direction setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetSimpleShadowPlane()

Removes any simple shadow plane setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

VisualEffectsControl &UnsetTextAntiAliasing()

Removes any text anti-alias setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by VisualEffectsKit::GetDefault().

Returns

A reference to this object.

explicit VisualEffectsControl(SegmentKey &in_seg)

Initializes a control tied to the segment in_seg.

VisualEffectsControl(VisualEffectsControl &&in_that)

The move constructor creates a VisualEffectsControl by transferring the underlying impl of the rvalue reference to this VisualEffectsControl thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to a VisualEffectsControl to take the impl from.

VisualEffectsControl(VisualEffectsControl const &in_that)

Initializes a control tied to the same object as in_that.

~VisualEffectsControl()

Releases a reference to the database object this control is tied to.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::VisualEffectsControl