PostProcessEffectsKit

class HPS.PostProcessEffectsKit : public HPS.Kit

The HPS.PostProcessEffectsKit class is a user space object, useful for carrying a group of attribute settings related to post-process effects. Calling HPS.PostProcessEffectsKit.GetDefault() will return a kit with values found in this table.

Public Functions

override void Dispose ()
override bool Empty ()

Indicates whether this object has any values set on it.

Return

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

bool Equals (HPS.PostProcessEffectsKit in_kit)

Check if the source PostProcessEffectsKit is equivalent to this object.

Param in_kit

The source PostProcessEffectsKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

override bool Equals (Object obj)
override int GetHashCode ()
override HPS.Type ObjectType ()

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

Return

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

PostProcessEffectsKit ()

Initializes an empty kit.

PostProcessEffectsKit (HPS.PostProcessEffectsKit in_kit)

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

Param in_kit

The source object to copy.

void Set (HPS.PostProcessEffectsKit in_kit)

Copies the source PostProcessEffectsKit into this object.

Param in_kit

The source object to copy.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (bool in_state, float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius, float in_sharpness)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_state

Whether ambient occlusion should be used.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Param in_sharpness

A value from 0.0f to 32.0f where lower values result in more blurred but softer edges and higher values will be blurred less with harder edges yet with more potential for banding. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetAmbientOcclusion (float in_strength, HPS.PostProcessEffects.AmbientOcclusion.Quality in_quality, float in_radius, float in_sharpness)

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.

Note

Ambient occlusion uses the depth buffer that is generated when we render opaque geometry to approximate ambient occlusion. Drawing of transparent geometry is always deferred until after all opaque geometry is drawn, and doesn’t write any depth information to the depth buffer. Thus, transparent geometry will effectively not exist for ambient occlusion calculations, and will therefore be unaffected by them. This also means that if all geometry in a scene is transparent, ambient occlusion is effectively disabled.

Param in_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param in_quality

Indicates how much time should be spent improving the visual quality.

Param in_radius

A multiplier for the screen-space search radius.

Param in_sharpness

A value from 0.0f to 32.0f where lower values result in more blurred but softer edges and higher values will be blurred less with harder edges yet with more potential for banding. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state)

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

Param in_state

Whether bloom should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state, float in_strength)

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

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state, float in_strength, uint in_blur)

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

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The 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].

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (bool in_state, float in_strength, uint in_blur, HPS.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.

Param in_state

Whether bloom should be used.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The 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].

Param in_shape

The shape of the bloom effect.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetBloom (float in_strength, uint in_blur, HPS.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.

Param in_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution. Valid range is [0,10].

Param in_blur

The 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].

Param in_shape

The shape of the bloom effect.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state)

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

Param in_state

Whether depth of field should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state, float in_strength)

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

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state, float in_strength, float in_near_distance)

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

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetDepthOfField (bool in_state, 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.

Param in_state

Whether depth of field should be used.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param in_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsKit 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.

Param in_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param in_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param in_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state, float in_exponent)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state, float in_exponent, float in_tolerance)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (bool in_state, float in_exponent, float in_tolerance, float in_strength)

Controls the shader-based eye-dome lighting effect.

Param in_state

Whether eye-dome lighting should be used.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion.

Param in_strength

A multiplier on the calculated per-pixel occlusion value. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetEyeDomeLighting (float in_exponent, bool in_tolerance, float in_strength)

Controls the shader-based eye-dome lighting effect. The state is implicitly on.

Param in_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param in_tolerance

A multiplier on the threshold that the driver uses when comparing adjacent pixel depth values to detect occlusion.

Param in_strength

A multiplier on the calculated per-pixel occlusion value. This allows the user to control the amount of occlusion added by neighboring pixels based on their relative depth difference.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (bool in_state)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (bool in_state, float in_tolerance)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Param in_tolerance

A 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.

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (bool in_state, float in_tolerance, bool in_heavy_exterior)

Controls the shader-based fast drawing of silhouette edges.

Param in_state

Whether silhouette edges should be used.

Param in_tolerance

A 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.

Param in_heavy_exterior

This 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).

Return

A reference to this object.

HPS.PostProcessEffectsKit SetSilhouetteEdges (float in_tolerance, bool in_heavy_exterior)

Controls the shader-based fast drawing of silhouette edges. The state is implicitly on.

Param in_tolerance

A 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.

Param in_heavy_exterior

This 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).

Return

A reference to this object.

HPS.PostProcessEffectsKit 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.

Param in_scale

Scale value used by post process effect.

Return

A reference to this object.

void Show (out HPS.PostProcessEffectsKit out_kit)

Copies this object into the given PostProcessEffectsKit.

Param out_kit

The PostProcessEffectsKit to populate with the contents of this object.

bool ShowAmbientOcclusion (out bool out_state, out float out_strength, out HPS.PostProcessEffects.AmbientOcclusion.Quality out_quality, out float out_radius, out float out_sharpness)

Shows the ambient occlusion setting.

Param out_state

Whether ambient occlusion should be used.

Param out_strength

A multiplier on the default contribution of ambient occlusion in the regular lighting calculations. Higher values mean that ambient occlusion will make a stronger contribution.

Param out_quality

Indicates how much time should be spent improving the visual quality.

Param out_radius

A multiplier for the screen-space search radius.

Param out_sharpness

A value indicating the sharpness of the ambient occlusion edges. Higher values increase the search radius for occluding pixels, but may cause under-sampling artifacts.

Return

true if the setting is valid, false otherwise.

bool ShowBloom (out bool out_state, out float out_strength, out uint out_blur, out HPS.PostProcessEffects.Bloom.Shape out_shape)

Shows the bloom setting.

Param out_state

Whether bloom should be used.

Param out_strength

A multiplier on the default contribution of bloom. Higher values mean that bloom will make a stronger contribution.

Param out_blur

The number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother.

Param out_shape

The shape of the bloom effect.

Return

true if the setting is valid, false otherwise.

bool ShowDepthOfField (out bool out_state, out float out_strength, out float out_near_distance, out float out_far_distance)

Shows the depth of field setting.

Param out_state

Whether depth of field should be used.

Param out_strength

A multiplier on the default blur radius. Higher values mean more blurring.

Param out_near_distance

The camera distance in front of which geometry will begin to appear out of focus.

Param out_far_distance

The camera distance beyond which geometry will appear out of focus.

Return

true if the setting is valid, false otherwise.

bool ShowEyeDomeLighting (out bool out_state, out float out_exponent, out float out_tolerance, out float out_strength)

Shows the eye-dome lighting setting.

Param out_state

Whether eye-dome lighting should be used.

Param out_exponent

An exponent used to attenuate the per-pixel occlusion computed by the eye-dome lighting algorithm.

Param out_tolerance

A 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.

Param out_strength

A multiplier on the calculated per-pixel occlusion value.

Return

true if the setting is valid, false otherwise.

bool ShowSilhouetteEdges (out bool out_state, out float out_tolerance, out bool out_heavy_exterior)

Shows the silhouette edge setting.

Param out_state

Whether silhouette edges should be used.

Param out_tolerance

A 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.

Param out_heavy_exterior

This 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).

Return

true if the setting is valid, false otherwise.

bool ShowWorldScale (out float out_scale)

Shows the world scale setting.

Param out_scale

Scale value used by post process effects.

Return

true if the setting is valid, false otherwise.

HPS.PostProcessEffectsKit UnsetAmbientOcclusion ()

Removes any ambient occlusion setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetBloom ()

Removes a bloom setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetDepthOfField ()

Removes a depth of field setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetEyeDomeLighting ()

Removes an eye-dome lighting setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetSilhouetteEdges ()

Removes a silhouette edge setting.

Return

A reference to this object.

HPS.PostProcessEffectsKit UnsetWorldScale ()

Removes any world scale setting.

Return

A reference to this object.

Public Static Functions

HPS.PostProcessEffectsKit GetDefault ()

Creates a PostProcessEffectsKit 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.

Return

A PostProcessEffectsKit with the default settings.

bool operator!= (HPS.PostProcessEffectsKit a, HPS.PostProcessEffectsKit b)
bool operator== (HPS.PostProcessEffectsKit a, HPS.PostProcessEffectsKit b)