Package com.jme3.shadow
Class SpotLightShadowFilter
- All Implemented Interfaces:
Savable
,JmeCloneable
,Cloneable
This Filter does basically the same as a SpotLightShadowRenderer except it
renders the post shadow pass as a fullscreen quad pass instead of a geometry
pass. It's mostly faster than PssmShadowRenderer as long as you have more
than about ten shadow receiving objects. The expense is the drawback that
the shadow Receive mode set on spatial is ignored. So basically all and only
objects that render depth in the scene receive shadows.
API is basically the same as the PssmShadowRenderer.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.jme3.post.Filter
Filter.Pass
-
Field Summary
Fields inherited from class com.jme3.shadow.AbstractShadowFilter
shadowRenderer, viewPort
Fields inherited from class com.jme3.post.Filter
defaultPass, enabled, material, postRenderPasses, processor
-
Constructor Summary
ModifierConstructorDescriptionprotected
For serialization only.SpotLightShadowFilter
(AssetManager assetManager, int shadowMapSize) Creates a SpotLightShadowFilter. -
Method Summary
Modifier and TypeMethodDescriptiongetLight()
Returns the light used to cast shadows.void
read
(JmeImporter im) Override this method if you want to load extra properties when the filter is loaded else only basic properties of the filter will be loaded This method should always begin by super.read(im);void
Sets the light to use to cast shadows.void
write
(JmeExporter ex) Override this method if you want to save extra properties when the filter is saved else only basic properties of the filter will be saved This method should always begin by super.write(ex);Methods inherited from class com.jme3.shadow.AbstractShadowFilter
cloneFields, getEdgeFilteringMode, getEdgesThickness, getMaterial, getNumShadowMaps, getPreShadowForcedRenderState, getShadowCompareMode, getShadowIntensity, getShadowMapSize, getShadowMaterial, getShadowZExtend, getShadowZFadeLength, initFilter, isFlushQueues, isRenderBackFacesShadows, isRequiresDepthTexture, jmeClone, postFrame, postQueue, preFrame, setEdgeFilteringMode, setEdgesThickness, setRenderBackFacesShadows, setShadowCompareMode, setShadowIntensity, setShadowZExtend, setShadowZFadeLength
Methods inherited from class com.jme3.post.Filter
cleanup, cleanUpFilter, getDefaultPassDepthFormat, getDefaultPassTextureFormat, getName, getPostRenderPasses, getRenderedTexture, getRenderFrameBuffer, init, isEnabled, isRequiresBilinear, isRequiresSceneTexture, postFilter, setDepthTexture, setEnabled, setName, setProcessor, setRenderedTexture, setRenderFrameBuffer
-
Constructor Details
-
SpotLightShadowFilter
protected SpotLightShadowFilter()For serialization only. Do not use. -
SpotLightShadowFilter
Creates a SpotLightShadowFilter.- Parameters:
assetManager
- the application's asset managershadowMapSize
- the size of the rendered shadow maps (512, 1024, 2048, etc...)
-
-
Method Details
-
getLight
Returns the light used to cast shadows.- Returns:
- the SpotLight
-
setLight
Sets the light to use to cast shadows.- Parameters:
light
- the SpotLight
-
write
Description copied from class:Filter
Override this method if you want to save extra properties when the filter is saved else only basic properties of the filter will be saved This method should always begin by super.write(ex);- Specified by:
write
in interfaceSavable
- Overrides:
write
in classAbstractShadowFilter<SpotLightShadowRenderer>
- Parameters:
ex
- the exporter (not null)- Throws:
IOException
- from the exporter
-
read
Description copied from class:Filter
Override this method if you want to load extra properties when the filter is loaded else only basic properties of the filter will be loaded This method should always begin by super.read(im);- Specified by:
read
in interfaceSavable
- Overrides:
read
in classAbstractShadowFilter<SpotLightShadowRenderer>
- Throws:
IOException
-