Click or drag to resize
DigitalRuneSaoFilter Class
Creates a Screen-Space Ambient Occlusion (SSAO) effect using the "Scalable Ambient Obscurance" method to approximate ambient occlusion in real-time.
Inheritance Hierarchy

Namespace: DigitalRune.Graphics.PostProcessing
Assembly: DigitalRune.Graphics (in DigitalRune.Graphics.dll) Version: 1.2.0.0 (1.2.1.14562)
Syntax
public class SaoFilter : PostProcessor

The SaoFilter type exposes the following members.

Constructors
  NameDescription
Public methodSaoFilter
Initializes a new instance of the SsaoFilter class.
Top
Methods
  NameDescription
Public methodDispose
Releases all resources used by an instance of the PostProcessor class.
(Inherited from PostProcessor.)
Protected methodDispose(Boolean)
Releases the unmanaged resources used by an instance of the PostProcessor class and optionally releases the managed resources.
(Inherited from PostProcessor.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnDisable
Called when this post-processor is disabled.
(Inherited from PostProcessor.)
Protected methodOnEnable
Called when this post-processor is enabled.
(Inherited from PostProcessor.)
Protected methodOnProcess
Called when the post-processor should perform the post-processing.
(Overrides PostProcessorOnProcess(RenderContext).)
Public methodProcess
Performs the post-processing using the SourceTexture and the RenderTarget specified in the render context.
(Inherited from PostProcessor.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyBias
Gets or sets the bias used to avoid sampling artifacts.
Public propertyBlurScale
Gets or sets the blur scale.
Public propertyCombineWithSource
Gets or sets a value indicating whether the ambient occlusion should be applied to the source image - or if a black-white AO image is produced, ignoring the source image.
Public propertyDefaultTargetFormat
Gets or sets the default target format. (This property is used by the PostProcessorChain).
(Inherited from PostProcessor.)
Public propertyEdgeSharpness Obsolete.
Gets or sets the edge sharpness.
Public propertyEdgeSoftness
Gets or sets the edge softness.
Public propertyEnabled
Gets or sets a value indicating whether this post-processor is enabled.
(Inherited from PostProcessor.)
Public propertyGraphicsService
Gets the graphics service.
(Inherited from PostProcessor.)
Public propertyIsDisposed
Gets a value indicating whether this post-processor has been disposed of.
(Inherited from PostProcessor.)
Public propertyMaxOcclusion
Gets or sets the max ambient occlusion value.
Public propertyMinBias
Gets or sets the minimum bias used to avoid sampling artifacts.
Public propertyName
Gets or sets the name of the post-processor.
(Inherited from PostProcessor.)
Public propertyNumberOfSamples
Gets or sets the number of samples.
Public propertyRadius
Gets or sets the sample radius in world space units.
Public propertySampleDistribution
Gets or sets the sample distribution.
Public propertyStrength
Gets or sets the strength of the ambient occlusion.
Top
Remarks

This class implements SSAO using the "Scalable Ambient Obscurance" method. This method creates a higher quality result, but might be slower than the SSAO method used by the SsaoFilter.

To improve the performance of this post processor the G-Buffer 0 should be mipmapped. If the G-Buffer 0 texture does not use mip maps, then this effect might be slow with a large sampling Radius or when the scene is close to the camera.

See Also