VisualEffectsKit

class VisualEffectsKit : public HPS::Kit

The HPS::VisualEffectsKit class is a user space object, useful for carrying a group attribute settings. Calling HPS::VisualEffectsKit::GetDefault() will return a kit with values found in this table.

Public Functions

virtual bool Empty() const

Indicates whether this object has any values set on it.

Returns:

true if no values are set on this object, false otherwise.

bool Equals(VisualEffectsKit const &in_kit) const

Check if the source VisualEffectsKit is equivalent to this object.

Parameters:

in_kit – The source VisualEffectsKit to compare to this object.

Returns:

true if the objects are equivalent, false otherwise.

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.

bool operator!=(VisualEffectsKit const &in_kit) const

Check if the source VisualEffectsKit is not equivalent to this object.

Parameters:

in_kit – The source VisualEffectsKit to compare to this object.

Returns:

true if the objects are not equivalent, false otherwise.

VisualEffectsKit &operator=(VisualEffectsKit &&in_that)

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

Parameters:

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

Returns:

A reference to this VisualEffectsKit.

VisualEffectsKit &operator=(VisualEffectsKit const &in_kit)

Copies the source VisualEffectsKit into this object.

Parameters:

in_kit – The source VisualEffectsKit to copy.

Returns:

A reference to this object.

bool operator==(VisualEffectsKit const &in_kit) const

Check if the source VisualEffectsKit is equivalent to this object.

Parameters:

in_kit – The source VisualEffectsKit to compare to this object.

Returns:

true if the objects are equivalent, false otherwise.

void Set(VisualEffectsKit const &in_kit)

Copies the source VisualEffectsKit into this object.

Parameters:

in_kit – The source object to copy.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &SetDepthOfFieldEnabled(bool in_state)

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

Parameters:

in_state – Whether depth of field should be used.

Returns:

A reference to this object.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &SetEyeDomeLightingEnabled(bool in_state)

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

Parameters:

in_state – Whether eye dome lighting should be used.

Returns:

A reference to this object.

VisualEffectsKit &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.

VisualEffectsKit &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.

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.

VisualEffectsKit &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.

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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &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.

VisualEffectsKit &SetTextAntiAliasing(bool in_state)

Manipulates the state of anti-aliasing.

Parameters:

in_state – Whether anti-aliasing should be used.

Returns:

A reference to this object.

void Show(VisualEffectsKit &out_kit) const

Copies this object into the given VisualEffectsKit.

Parameters:

out_kit – The VisualEffectsKit to populate with the contents of this object.

bool ShowAmbientOcclusionEnabled(bool &out_state) const

Shows the ambient occlusion setting.

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.

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.

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.

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 post-processing effects are enabled.

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.

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 text anti-aliasing should be used.

Returns:

true if the setting is valid, false otherwise.

VisualEffectsKit &UnsetAmbientOcclusionEnabled()

Removes any ambient occlusion setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetAntiAliasing()

Removes any anti-alias setting(text and screen).

Deprecated:

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

Returns:

A reference to this object.

VisualEffectsKit &UnsetBloomEnabled()

Removes any bloom setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetDepthOfFieldEnabled()

Removes any depth of field setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetEverything()

Removes all settings from this object.

Returns:

A reference to this object.

VisualEffectsKit &UnsetEyeDomeLightingBackColor()

Removes any eye dome lighting back color setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetEyeDomeLightingEnabled()

Removes any eye dome lighting setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetPostProcessEffectsEnabled()

Removes any post-processing effects setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetShadowMaps()

Removes any shadow maps setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSilhouetteEdgesEnabled()

Removes any silhouette edges setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleReflection()

Removes any simple reflection setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleReflectionPlane()

Removes any simple reflection plane setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleReflectionVisibility()

Removes any simple reflection visibility setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleShadow()

Removes any simple shadow setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleShadowColor()

Removes any simple shadow color setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleShadowLightDirection()

Removes any simple shadow light direction setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetSimpleShadowPlane()

Removes any simple shadow plane setting.

Returns:

A reference to this object.

VisualEffectsKit &UnsetTextAntiAliasing()

Removes any text anti-alias setting.

Returns:

A reference to this object.

VisualEffectsKit()

Initializes an empty kit.

VisualEffectsKit(VisualEffectsKit &&in_that)

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

Parameters:

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

VisualEffectsKit(VisualEffectsKit const &in_kit)

The copy constructor creates a new VisualEffectsKit object that contains the same settings as the source object.

Parameters:

in_kit – The source object to copy.

virtual ~VisualEffectsKit()

Destroy this kit.

Public Static Functions

static VisualEffectsKit GetDefault()

Creates a VisualEffectsKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default.

Returns:

A VisualEffectsKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::VisualEffectsKit