com.jme3.post.filters
Class BloomFilter

java.lang.Object
  extended by com.jme3.post.Filter
      extended by com.jme3.post.filters.BloomFilter
All Implemented Interfaces:
Savable

public class BloomFilter
extends Filter

BloomFilter is used to make objects in the scene have a glow effect.
There are 2 mode : Scene and Objects.
Scene mode extracts the bright parts of the scene to make them glow
Object mode make objects glow according to their material's glowMap or their GlowColor

See Also:
advanced:bloom_and_glow for more details

Nested Class Summary
static class BloomFilter.GlowMode
          GlowMode specifies if the glow will be applied to the whole scene,or to objects that have aglow color or a glow map
 
Nested classes/interfaces inherited from class com.jme3.post.Filter
Filter.Pass
 
Field Summary
 
Fields inherited from class com.jme3.post.Filter
defaultPass, enabled, material, postRenderPasses, processor
 
Constructor Summary
BloomFilter()
          Creates a Bloom filter
BloomFilter(BloomFilter.GlowMode glowMode)
          Creates the bloom filter with the specific glow mode
 
Method Summary
 float getBloomIntensity()
          returns the bloom intensity
 float getBlurScale()
          returns the blur scale
 float getDownSamplingFactor()
          returns the downSampling factor
form more details see setDownSamplingFactor(float downSamplingFactor)
 float getExposureCutOff()
          returns the exposure cutoff
for more details see setExposureCutOff(float exposureCutOff)
 float getExposurePower()
          returns the exposure power
form more details see setExposurePower(float exposurePower)
protected  Material getMaterial()
          Must return the material used for this filter.
protected  void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h)
          Initialization of sub classes filters This method is called once when the filter is added to the FilterPostProcessor It should contain Material initializations and extra passes initialization
protected  void postQueue(RenderManager renderManager, ViewPort viewPort)
          Override this method if you want to make a pre pass, before the actual rendering of the frame
 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 setBloomIntensity(float bloomIntensity)
          intensity of the bloom effect default is 2.0
 void setBlurScale(float blurScale)
          sets The spread of the bloom default is 1.5f
 void setDownSamplingFactor(float downSamplingFactor)
          Sets the downSampling factor : the size of the computed texture will be divided by this factor.
 void setExposureCutOff(float exposureCutOff)
          Define the color threshold on which the bloom will be applied (0.0 to 1.0)
 void setExposurePower(float exposurePower)
          defines how many time the bloom extracted color will be multiplied by itself.
 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.post.Filter
cleanup, cleanUpFilter, getDefaultPassDepthFormat, getDefaultPassTextureFormat, getName, getPostRenderPasses, getRenderedTexture, getRenderFrameBuffer, init, isEnabled, isRequiresDepthTexture, isRequiresSceneTexture, postFrame, preFrame, setDepthTexture, setEnabled, setName, setProcessor, setRenderedTexture, setRenderFrameBuffer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BloomFilter

public BloomFilter()
Creates a Bloom filter


BloomFilter

public BloomFilter(BloomFilter.GlowMode glowMode)
Creates the bloom filter with the specific glow mode

Parameters:
glowMode -
Method Detail

initFilter

protected void initFilter(AssetManager manager,
                          RenderManager renderManager,
                          ViewPort vp,
                          int w,
                          int h)
Description copied from class: Filter
Initialization of sub classes filters This method is called once when the filter is added to the FilterPostProcessor It should contain Material initializations and extra passes initialization

Specified by:
initFilter in class Filter
Parameters:
manager - the assetManager
renderManager - the renderManager
vp - the viewPort where this filter is rendered
w - the width of the filter
h - the height of the filter

getMaterial

protected Material getMaterial()
Description copied from class: Filter
Must return the material used for this filter. this method is called every frame.

Specified by:
getMaterial in class Filter
Returns:
the material used for this filter.

postQueue

protected void postQueue(RenderManager renderManager,
                         ViewPort viewPort)
Description copied from class: Filter
Override this method if you want to make a pre pass, before the actual rendering of the frame

Overrides:
postQueue in class Filter

getBloomIntensity

public float getBloomIntensity()
returns the bloom intensity

Returns:

setBloomIntensity

public void setBloomIntensity(float bloomIntensity)
intensity of the bloom effect default is 2.0

Parameters:
bloomIntensity -

getBlurScale

public float getBlurScale()
returns the blur scale

Returns:

setBlurScale

public void setBlurScale(float blurScale)
sets The spread of the bloom default is 1.5f

Parameters:
blurScale -

getExposureCutOff

public float getExposureCutOff()
returns the exposure cutoff
for more details see setExposureCutOff(float exposureCutOff)

Returns:

setExposureCutOff

public void setExposureCutOff(float exposureCutOff)
Define the color threshold on which the bloom will be applied (0.0 to 1.0)

Parameters:
exposureCutOff -

getExposurePower

public float getExposurePower()
returns the exposure power
form more details see setExposurePower(float exposurePower)

Returns:

setExposurePower

public void setExposurePower(float exposurePower)
defines how many time the bloom extracted color will be multiplied by itself. default id 5.0
a high value will reduce rough edges in the bloom and somhow the range of the bloom area *

Parameters:
exposurePower -

getDownSamplingFactor

public float getDownSamplingFactor()
returns the downSampling factor
form more details see setDownSamplingFactor(float downSamplingFactor)

Returns:

setDownSamplingFactor

public void setDownSamplingFactor(float downSamplingFactor)
Sets the downSampling factor : the size of the computed texture will be divided by this factor. default is 1 for no downsampling A 2 value is a good way of widening the blur

Parameters:
downSamplingFactor -

write

public void write(JmeExporter ex)
           throws java.io.IOException
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 interface Savable
Overrides:
write in class Filter
Throws:
java.io.IOException

read

public void read(JmeImporter im)
          throws java.io.IOException
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 interface Savable
Overrides:
read in class Filter
Throws:
java.io.IOException