Package com.jme3.post.ssao
Class SSAOFilter
java.lang.Object
com.jme3.post.Filter
com.jme3.post.ssao.SSAOFilter
- All Implemented Interfaces:
com.jme3.export.Savable
public class SSAOFilter
extends com.jme3.post.Filter
SSAO stands for screen space ambient occlusion
It's a technique that fakes ambient lighting by computing shadows that nearby objects would cast on each other.
under the effect of an ambient light
more info on this in this blog post http://jmonkeyengine.org/2010/08/16/screen-space-ambient-occlusion-for-jmonkeyengine-3-0/
- Author:
- Rémy Bouquet aka Nehon
-
Nested Class Summary
Nested classes/interfaces inherited from class com.jme3.post.Filter
com.jme3.post.Filter.Pass -
Field Summary
Fields inherited from class com.jme3.post.Filter
defaultPass, enabled, material, postRenderPasses, processor -
Constructor Summary
ConstructorsConstructorDescriptionCreate a Screen Space Ambient Occlusion FilterSSAOFilter(float sampleRadius, float intensity, float scale, float bias) Create a Screen Space Ambient Occlusion Filter -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcleanUpFilter(com.jme3.renderer.Renderer r) floatgetBias()Return the bias
seesetBias(float bias)floatreturns the ambient occlusion intensityprotected com.jme3.material.Materialfloatreturns the sample radius
see {link setSampleRadius(float sampleRadius)}floatgetScale()returns the scale
seesetScale(float scale)protected voidinitFilter(com.jme3.asset.AssetManager manager, com.jme3.renderer.RenderManager renderManager, com.jme3.renderer.ViewPort vp, int w, int h) booleanprotected booleanbooleanisUseAo()debugging only , will be removedbooleandebugging only , will be removedprotected voidpostQueue(com.jme3.renderer.queue.RenderQueue queue) voidread(com.jme3.export.JmeImporter im) voidsetApproximateNormals(boolean approximateNormals) voidsetBias(float bias) Sets the width of the occlusion cone considered by the occludee default is 0.1fvoidsetIntensity(float intensity) Sets the Ambient occlusion intensity default is 1.5voidsetSampleRadius(float sampleRadius) Sets the radius of the area where random samples will be picked default 5.1fvoidsetScale(float scale) Returns the distance between occluders and occludee.voidsetUseAo(boolean useAo) debugging only , will be removedvoidsetUseOnlyAo(boolean useOnlyAo) debugging only , will be removedvoidwrite(com.jme3.export.JmeExporter ex) Methods inherited from class com.jme3.post.Filter
cleanup, getDefaultPassDepthFormat, getDefaultPassTextureFormat, getName, getPostRenderPasses, getRenderedTexture, getRenderFrameBuffer, init, isEnabled, isRequiresBilinear, isRequiresSceneTexture, postFilter, postFrame, preFrame, setDepthTexture, setEnabled, setName, setProcessor, setRenderedTexture, setRenderFrameBuffer
-
Constructor Details
-
SSAOFilter
public SSAOFilter()Create a Screen Space Ambient Occlusion Filter -
SSAOFilter
public SSAOFilter(float sampleRadius, float intensity, float scale, float bias) Create a Screen Space Ambient Occlusion Filter- Parameters:
sampleRadius- The radius of the area where random samples will be picked. default 5.1fintensity- intensity of the resulting AO. default 1.2fscale- distance between occluders and occludee. default 0.2fbias- the width of the occlusion cone considered by the occludee. default 0.1f
-
-
Method Details
-
isRequiresDepthTexture
protected boolean isRequiresDepthTexture()- Overrides:
isRequiresDepthTexturein classcom.jme3.post.Filter
-
postQueue
protected void postQueue(com.jme3.renderer.queue.RenderQueue queue) - Overrides:
postQueuein classcom.jme3.post.Filter
-
getMaterial
protected com.jme3.material.Material getMaterial()- Specified by:
getMaterialin classcom.jme3.post.Filter
-
initFilter
protected void initFilter(com.jme3.asset.AssetManager manager, com.jme3.renderer.RenderManager renderManager, com.jme3.renderer.ViewPort vp, int w, int h) - Specified by:
initFilterin classcom.jme3.post.Filter
-
cleanUpFilter
protected void cleanUpFilter(com.jme3.renderer.Renderer r) - Overrides:
cleanUpFilterin classcom.jme3.post.Filter
-
getBias
public float getBias()Return the bias
seesetBias(float bias)- Returns:
- bias
-
setBias
public void setBias(float bias) Sets the width of the occlusion cone considered by the occludee default is 0.1f- Parameters:
bias- the desired width (default=0.1)
-
getIntensity
public float getIntensity()returns the ambient occlusion intensity- Returns:
- intensity
-
setIntensity
public void setIntensity(float intensity) Sets the Ambient occlusion intensity default is 1.5- Parameters:
intensity- the desired intensity (default=1.5)
-
getSampleRadius
public float getSampleRadius()returns the sample radius
see {link setSampleRadius(float sampleRadius)}- Returns:
- the sample radius
-
setSampleRadius
public void setSampleRadius(float sampleRadius) Sets the radius of the area where random samples will be picked default 5.1f- Parameters:
sampleRadius- the desired radius (default=5.1)
-
getScale
public float getScale()returns the scale
seesetScale(float scale)- Returns:
- scale
-
setScale
public void setScale(float scale) Returns the distance between occluders and occludee. default 0.2f- Parameters:
scale- the desired distance (default=0.2)
-
isUseAo
public boolean isUseAo()debugging only , will be removed- Returns:
- true if using ambient occlusion
-
setUseAo
public void setUseAo(boolean useAo) debugging only , will be removed- Parameters:
useAo- true to enable, false to disable (default=true)
-
setApproximateNormals
public void setApproximateNormals(boolean approximateNormals) -
isApproximateNormals
public boolean isApproximateNormals() -
isUseOnlyAo
public boolean isUseOnlyAo()debugging only , will be removed- Returns:
- useOnlyAo
-
setUseOnlyAo
public void setUseOnlyAo(boolean useOnlyAo) debugging only , will be removed- Parameters:
useOnlyAo- true to enable, false to disable (default=false)
-
write
- Specified by:
writein interfacecom.jme3.export.Savable- Overrides:
writein classcom.jme3.post.Filter- Throws:
IOException
-
read
- Specified by:
readin interfacecom.jme3.export.Savable- Overrides:
readin classcom.jme3.post.Filter- Throws:
IOException
-