Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::PostProcessEffectsControl Class Reference

#include <hps.h>

Inheritance diagram for HPS::PostProcessEffectsControl:
Collaboration diagram for HPS::PostProcessEffectsControl:

Public Member Functions

 PostProcessEffectsControl (WindowKey &in_seg)
 Initializes a control tied to the window segment in_seg. More...
 
 PostProcessEffectsControl (PostProcessEffectsControl const &in_that)
 Initializes a control tied to the same object as in_that. More...
 
 PostProcessEffectsControl (PostProcessEffectsControl &&in_that)
 The move constructor creates a PostProcessEffectsControl by transferring the underlying impl of the rvalue reference to this PostProcessEffectsControl thereby avoiding a copy and allocation. More...
 
PostProcessEffectsControloperator= (PostProcessEffectsControl &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this PostProcessEffectsControl thereby avoiding a copy. More...
 
 ~PostProcessEffectsControl ()
 Releases a reference to the database object this control is tied to. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
HPS::Type ObjectType () const
 
PostProcessEffectsControloperator= (PostProcessEffectsControl const &in_that)
 Share the underlying smart-pointer of the PostProcessEffectsControl source. More...
 
PostProcessEffectsControlSetAmbientOcclusion (bool in_state, float in_strength=1.0f, PostProcessEffects::AmbientOcclusion::Quality in_quality=PostProcessEffects::AmbientOcclusion::Quality::Fastest, float in_radius=1.0f)
 Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. More...
 
PostProcessEffectsControlSetAmbientOcclusion (float in_strength, PostProcessEffects::AmbientOcclusion::Quality in_quality=PostProcessEffects::AmbientOcclusion::Quality::Fastest, float in_radius=1.0f)
 Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface. More...
 
PostProcessEffectsControlSetBloom (bool in_state, float in_strength=1.0f, unsigned int in_blur=5, PostProcessEffects::Bloom::Shape in_shape=PostProcessEffects::Bloom::Shape::Radial)
 Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens. More...
 
PostProcessEffectsControlSetBloom (float in_strength, unsigned int in_blur, PostProcessEffects::Bloom::Shape in_shape)
 Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens. More...
 
PostProcessEffectsControlSetDepthOfField (bool in_state, float in_strength=1.0f, float in_near_distance=Float::NegativeInfinity, float in_far_distance=Float::Infinity)
 Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp. More...
 
PostProcessEffectsControlSetDepthOfField (float in_strength, float in_near_distance, float in_far_distance)
 Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp. More...
 
PostProcessEffectsControlSetSilhouetteEdges (bool in_state, float in_tolerance=1.0f, bool in_heavy_exterior=false)
 Controls the shader-based fast drawing of silhouette edges. More...
 
PostProcessEffectsControlSetSilhouetteEdges (float in_tolerance, bool in_heavy_exterior)
 Controls the shader-based fast drawing of silhouette edges. More...
 
PostProcessEffectsControlSetEyeDomeLighting (bool in_state, float in_exponent=50.0f, float in_tolerance=1.0f, float in_strength=1.0f)
 Controls the shader-based eye-dome lighting effect. More...
 
PostProcessEffectsControlSetEyeDomeLighting (float in_exponent, float in_tolerance, float in_strength)
 Controls the shader-based eye-dome lighting effect. More...
 
PostProcessEffectsControlSetWorldScale (float in_scale)
 Sets a world scale value used by post process effects such as ambient occlusion. More...
 
PostProcessEffectsControlUnsetAmbientOcclusion ()
 Removes any ambient occlusion setting. More...
 
PostProcessEffectsControlUnsetBloom ()
 Removes a bloom setting. More...
 
PostProcessEffectsControlUnsetDepthOfField ()
 Removes a depth of field setting. More...
 
PostProcessEffectsControlUnsetSilhouetteEdges ()
 Removes a silhouette edge setting. More...
 
PostProcessEffectsControlUnsetEyeDomeLighting ()
 Removes an eye-dome lighting setting. More...
 
PostProcessEffectsControlUnsetWorldScale ()
 Removes any world scale setting. More...
 
PostProcessEffectsControlUnsetEverything ()
 Removes all settings from this object. More...
 
bool ShowAmbientOcclusion (bool &out_state, float &out_strength, PostProcessEffects::AmbientOcclusion::Quality &out_quality, float &out_radius) const
 Shows the ambient occlusion setting. More...
 
bool ShowBloom (bool &out_state, float &out_strength, unsigned int &out_blur, PostProcessEffects::Bloom::Shape &out_shape) const
 Shows the bloom setting. More...
 
bool ShowDepthOfField (bool &out_state, float &out_strength, float &out_near_distance, float &out_far_distance) const
 Shows the depth of field setting. More...
 
bool ShowSilhouetteEdges (bool &out_state, float &out_tolerance, bool &out_heavy_exterior) const
 Shows the silhouette edge setting. More...
 
bool ShowEyeDomeLighting (bool &out_state, float &out_exponent, float &out_tolerance, float &out_strength) const
 Shows the eye-dome lighting setting. More...
 
bool ShowWorldScale (float &out_scale) const
 Shows the world scale setting. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::PostProcessEffectsControl
 

Private Member Functions

 PostProcessEffectsControl ()
 Private default constructor to prevent instantiation without a segment. More...
 

Detailed Description

The HPS::PostProcessEffectsControl class is a smart pointer that is tied to a database object. This object is effective only for the shader-based driver interfaces such as DirectX and OpenGL2. Ambient occlusion, bloom, silhouette edges, and depth of field are all enabled through this control. Default values for the various fields of HPS::PostProcessEffectsControl can be found here.

Constructor & Destructor Documentation

◆ PostProcessEffectsControl() [1/4]

HPS::PostProcessEffectsControl::PostProcessEffectsControl ( WindowKey in_seg)
explicit

Initializes a control tied to the window segment in_seg.

◆ PostProcessEffectsControl() [2/4]

HPS::PostProcessEffectsControl::PostProcessEffectsControl ( PostProcessEffectsControl const &  in_that)

Initializes a control tied to the same object as in_that.

◆ PostProcessEffectsControl() [3/4]

HPS::PostProcessEffectsControl::PostProcessEffectsControl ( PostProcessEffectsControl &&  in_that)

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

Parameters
in_thatAn rvalue reference to a PostProcessEffectsControl to take the impl from.

◆ ~PostProcessEffectsControl()

HPS::PostProcessEffectsControl::~PostProcessEffectsControl ( )

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

◆ PostProcessEffectsControl() [4/4]

HPS::PostProcessEffectsControl::PostProcessEffectsControl ( )
private

Private default constructor to prevent instantiation without a segment.

Member Function Documentation

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

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

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

HPS::Type HPS::PostProcessEffectsControl::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Control.

◆ operator=() [1/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::operator= ( PostProcessEffectsControl &&  in_that)

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

Parameters
in_thatAn rvalue reference to a PostProcessEffectsControl to take the impl from.
Returns
A reference to this PostProcessEffectsControl.

◆ operator=() [2/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::operator= ( PostProcessEffectsControl const &  in_that)

Share the underlying smart-pointer of the PostProcessEffectsControl source.

Parameters
in_thatThe PostProcessEffectsControl source of the assignment.
Returns
A reference to this PostProcessEffectsControl.

◆ Reset()

◆ SetAmbientOcclusion() [1/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetAmbientOcclusion ( bool  in_state,
float  in_strength = 1.0f,
PostProcessEffects::AmbientOcclusion::Quality  in_quality = PostProcessEffects::AmbientOcclusion::Quality::Fastest,
float  in_radius = 1.0f 
)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface.

This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas.

Parameters
in_stateWhether ambient occlusion should be used.
in_strengthA multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.
in_qualityIndicates how much time should be spent improving the visual quality.
in_radiusA multiplier for the screen-space search radius. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.
Returns
A reference to this object.

◆ SetAmbientOcclusion() [2/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetAmbientOcclusion ( float  in_strength,
PostProcessEffects::AmbientOcclusion::Quality  in_quality = PostProcessEffects::AmbientOcclusion::Quality::Fastest,
float  in_radius = 1.0f 
)

Ambient occlusion is a general term for shading that varies when nearby objects (occluders) would prevent some portion of ambient light from reaching a surface.

This applies a filter that looks for small valleys in the depth buffer results, and slightly darkens these areas. The state is implicitly on.

Parameters
in_strengthA multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.
in_qualityIndicates how much time should be spent improving the visual quality.
in_radiusA multiplier for the screen-space search radius. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.
Returns
A reference to this object.

◆ SetBloom() [1/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetBloom ( bool  in_state,
float  in_strength = 1.0f,
unsigned int  in_blur = 5,
PostProcessEffects::Bloom::Shape  in_shape = PostProcessEffects::Bloom::Shape::Radial 
)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

Parameters
in_stateWhether bloom should be used.
in_strengthA multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].
in_blurThe number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].
in_shapeThe shape of the bloom effect.
Returns
A reference to this object.

◆ SetBloom() [2/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetBloom ( float  in_strength,
unsigned int  in_blur,
PostProcessEffects::Bloom::Shape  in_shape 
)

Bloom causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.

The state is implicitly on.

Parameters
in_strengthA multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].
in_blurThe number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Valid range is [1,8].
in_shapeThe shape of the bloom effect.
Returns
A reference to this object.

◆ SetDepthOfField() [1/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetDepthOfField ( bool  in_state,
float  in_strength = 1.0f,
float  in_near_distance = Float::NegativeInfinity,
float  in_far_distance = Float::Infinity 
)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

Parameters
in_stateWhether depth of field should be used.
in_strengthA multiplier on the default blur radius. Higher values mean more blurring.
in_near_distanceThe camera distance in front of which geometry will begin to appear out of focus.
in_far_distanceThe camera distance beyond which geometry will appear out of focus.
Returns
A reference to this object.

◆ SetDepthOfField() [2/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetDepthOfField ( float  in_strength,
float  in_near_distance,
float  in_far_distance 
)

Depth of Field is the distance between the nearest and farthest objects in a scene that appear sharp.

The state is implicitly on.

Parameters
in_strengthA multiplier on the default blur radius. Higher values mean more blurring.
in_near_distanceThe camera distance in front of which geometry will begin to appear out of focus.
in_far_distanceThe camera distance beyond which geometry will appear out of focus.
Returns
A reference to this object.

◆ SetEyeDomeLighting() [1/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetEyeDomeLighting ( bool  in_state,
float  in_exponent = 50.0f,
float  in_tolerance = 1.0f,
float  in_strength = 1.0f 
)

Controls the shader-based eye-dome lighting effect.

Parameters
in_stateWhether eye-dome lighting should be used.
in_exponentAn exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.
in_toleranceA multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.
in_strengthA multiplier on the calculated per-pixel occlusion value.
Returns
true if the setting is valid, false otherwise.

◆ SetEyeDomeLighting() [2/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetEyeDomeLighting ( float  in_exponent,
float  in_tolerance,
float  in_strength 
)

Controls the shader-based eye-dome lighting effect.

The state is implicitly on.

Parameters
in_exponentAn exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.
in_toleranceA multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.
in_strengthA multiplier on the calculated per-pixel occlusion value.
Returns
true if the setting is valid, false otherwise.

◆ SetSilhouetteEdges() [1/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetSilhouetteEdges ( bool  in_state,
float  in_tolerance = 1.0f,
bool  in_heavy_exterior = false 
)

Controls the shader-based fast drawing of silhouette edges.

Parameters
in_stateWhether silhouette edges should be used.
in_toleranceA multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn't, vs disappearing in places they should be.
in_heavy_exteriorThis option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).
Returns
A reference to this object.

◆ SetSilhouetteEdges() [2/2]

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetSilhouetteEdges ( float  in_tolerance,
bool  in_heavy_exterior 
)

Controls the shader-based fast drawing of silhouette edges.

The state is implicitly on.

Parameters
in_toleranceA multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn't, vs disappearing in places they should be.
in_heavy_exteriorThis option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).
Returns
A reference to this object.

◆ SetWorldScale()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::SetWorldScale ( float  in_scale)

Sets a world scale value used by post process effects such as ambient occlusion.

If not set, scale is computed based on scene bounding.

Parameters
in_scaleScale value used by post process effect.
Returns
A reference to this object.

◆ ShowAmbientOcclusion()

bool HPS::PostProcessEffectsControl::ShowAmbientOcclusion ( bool &  out_state,
float &  out_strength,
PostProcessEffects::AmbientOcclusion::Quality out_quality,
float &  out_radius 
) const

Shows the ambient occlusion setting.

Parameters
out_stateWhether ambient occlusion should be used.
out_strengthA multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.
out_qualityIndicates how much time should be spent improving the visual quality.
out_radiusA multiplier for the screen-space search radius. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.
Returns
true if the setting is valid, false otherwise.

◆ ShowBloom()

bool HPS::PostProcessEffectsControl::ShowBloom ( bool &  out_state,
float &  out_strength,
unsigned int &  out_blur,
PostProcessEffects::Bloom::Shape out_shape 
) const

Shows the bloom setting.

Parameters
out_stateWhether bloom should be used.
out_strengthA multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution.
out_blurThe number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother.
out_shapeThe shape of the bloom effect.
Returns
true if the setting is valid, false otherwise.

◆ ShowDepthOfField()

bool HPS::PostProcessEffectsControl::ShowDepthOfField ( bool &  out_state,
float &  out_strength,
float &  out_near_distance,
float &  out_far_distance 
) const

Shows the depth of field setting.

Parameters
out_stateWhether depth of field should be used.
out_strengthA multiplier on the default blur radius. Higher values mean more blurring.
out_near_distanceThe camera distance in front of which geometry will begin to appear out of focus.
out_far_distanceThe camera distance beyond which geometry will appear out of focus.
Returns
true if the setting is valid, false otherwise.

◆ ShowEyeDomeLighting()

bool HPS::PostProcessEffectsControl::ShowEyeDomeLighting ( bool &  out_state,
float &  out_exponent,
float &  out_tolerance,
float &  out_strength 
) const

Shows the eye-dome lighting setting.

Parameters
out_stateWhether eye-dome lighting should be used.
out_exponentAn exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.
out_toleranceA multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.
out_strengthA multiplier on the calculated per-pixel occlusion value.
Returns
true if the setting is valid, false otherwise.

◆ ShowSilhouetteEdges()

bool HPS::PostProcessEffectsControl::ShowSilhouetteEdges ( bool &  out_state,
float &  out_tolerance,
bool &  out_heavy_exterior 
) const

Shows the silhouette edge setting.

Parameters
out_stateWhether silhouette edges should be used.
out_toleranceA multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect silhouettes. This allows the user to control the trade-off between silhouettes appearing where they shouldn't, vs disappearing in places they should be.
out_heavy_exteriorThis option, when enabled, causes an extra thick border to be drawn at the boundary between geometry and the window background (as opposed to geometry on top of other geometry).
Returns
true if the setting is valid, false otherwise.

◆ ShowWorldScale()

bool HPS::PostProcessEffectsControl::ShowWorldScale ( float &  out_scale) const

Shows the world scale setting.

Parameters
out_scaleScale value used by post process effects.
Returns
true if the setting is valid, false otherwise.

◆ Type()

virtual HPS::Type HPS::PostProcessEffectsControl::Type ( ) const
inlinevirtual

This function returns the true type of the underlying object.

This function is useful for finding the type of smart pointer objects that have been cast to more generic types.

Returns
The true type of the object in question.

Reimplemented from HPS::Control.

◆ UnsetAmbientOcclusion()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::UnsetAmbientOcclusion ( )

Removes any ambient occlusion setting.

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

Returns
A reference to this object.

◆ UnsetBloom()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::UnsetBloom ( )

Removes a bloom setting.

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

Returns
A reference to this object.

◆ UnsetDepthOfField()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::UnsetDepthOfField ( )

Removes a depth of field setting.

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

Returns
A reference to this object.

◆ UnsetEverything()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::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 PostProcessEffectsKit::GetDefault().

Returns
A reference to this object.

◆ UnsetEyeDomeLighting()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::UnsetEyeDomeLighting ( )

Removes an eye-dome lighting setting.

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

Returns
A reference to this object.

◆ UnsetSilhouetteEdges()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::UnsetSilhouetteEdges ( )

Removes a silhouette edge setting.

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

Returns
A reference to this object.

◆ UnsetWorldScale()

PostProcessEffectsControl& HPS::PostProcessEffectsControl::UnsetWorldScale ( )

Removes any world scale setting.

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

Returns
A reference to this object.

Member Data Documentation

◆ staticType

const HPS::Type HPS::PostProcessEffectsControl::staticType = HPS::Type::PostProcessEffectsControl
static

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