com.jmex.effects.glsl
Class BloomRenderPass

java.lang.Object
  extended by com.jme.renderer.pass.Pass
      extended by com.jmex.effects.glsl.BloomRenderPass
All Implemented Interfaces:
java.io.Serializable

public class BloomRenderPass
extends Pass

GLSL bloom effect pass. - Render supplied source to a texture - Extract intensity - Blur intensity - Blend with first pass

Author:
Rikard Herlitz (MrCoder) - initial implementation, Joshua Slack - Enhancements and reworking to use a single texrenderer, ability to reuse existing back buffer, faster blur, throttling speed-up, etc.
See Also:
Serialized Form

Field Summary
static java.lang.String shaderDirectory
           
 
Fields inherited from class com.jme.renderer.pass.Pass
context, enabled, passStates, savedStates, spatials, zFactor, zOffset
 
Constructor Summary
BloomRenderPass(Camera cam, int renderScale)
          Creates a new bloom renderpass
 
Method Summary
 void cleanup()
          Release pbuffers in TextureRenderer's.
 void doRender(Renderer r)
           
protected  void doUpdate(float tpf)
           
 float getBlurIntensityMultiplier()
           
 float getBlurSize()
           
 float getExposureCutoff()
           
 float getExposurePow()
           
 int getNrBlurPasses()
           
 float getThrottle()
           
 boolean isSupported()
           
 boolean isUseSeparateConvolution()
           
 void resetParameters()
          Reset bloom parameters to default
 void setBlurIntensityMultiplier(float blurIntensityMultiplier)
           
 void setBlurSize(float blurSize)
           
 void setExposureCutoff(float exposureCutoff)
           
 void setExposurePow(float exposurePow)
           
 void setNrBlurPasses(int nrBlurPasses)
           
 void setThrottle(float throttle)
           
 void setUseCurrentScene(boolean useCurrentScene)
           
 void setUseSeparateConvolution(boolean useSeparateConvolution)
           
 boolean useCurrentScene()
           
 
Methods inherited from class com.jme.renderer.pass.Pass
add, applyPassStates, cleanUp, clearPassState, clearPassState, clearPassStates, contains, get, getRenderState, getRenderState, getZFactor, getZOffset, isEnabled, remove, removeAll, renderPass, resetOldStates, setEnabled, setPassState, setZFactor, setZOffset, size, updatePass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shaderDirectory

public static java.lang.String shaderDirectory
Constructor Detail

BloomRenderPass

public BloomRenderPass(Camera cam,
                       int renderScale)
Creates a new bloom renderpass

Parameters:
cam - Camera used for rendering the bloomsource
renderScale - Scale of bloom texture
Method Detail

resetParameters

public void resetParameters()
Reset bloom parameters to default


cleanup

public void cleanup()
Release pbuffers in TextureRenderer's. Preferably called from user cleanup method.


isSupported

public boolean isSupported()

doUpdate

protected void doUpdate(float tpf)
Overrides:
doUpdate in class Pass

doRender

public void doRender(Renderer r)
Specified by:
doRender in class Pass

getThrottle

public float getThrottle()
Returns:
The throttle amount - or in other words, how much time in seconds must pass before the bloom effect is updated.

setThrottle

public void setThrottle(float throttle)
Parameters:
throttle - The throttle amount - or in other words, how much time in seconds must pass before the bloom effect is updated.

getBlurSize

public float getBlurSize()

setBlurSize

public void setBlurSize(float blurSize)

getExposurePow

public float getExposurePow()

setExposurePow

public void setExposurePow(float exposurePow)

getExposureCutoff

public float getExposureCutoff()

setExposureCutoff

public void setExposureCutoff(float exposureCutoff)

getBlurIntensityMultiplier

public float getBlurIntensityMultiplier()

setBlurIntensityMultiplier

public void setBlurIntensityMultiplier(float blurIntensityMultiplier)

getNrBlurPasses

public int getNrBlurPasses()

setNrBlurPasses

public void setNrBlurPasses(int nrBlurPasses)

useCurrentScene

public boolean useCurrentScene()

setUseCurrentScene

public void setUseCurrentScene(boolean useCurrentScene)

setUseSeparateConvolution

public void setUseSeparateConvolution(boolean useSeparateConvolution)

isUseSeparateConvolution

public boolean isUseSeparateConvolution()