Package com.jme3.post.filters
Class PosterizationFilter
java.lang.Object
com.jme3.post.Filter
com.jme3.post.filters.PosterizationFilter
- All Implemented Interfaces:
Savable
A Post Processing filter to change colors appear with sharp edges as if the
available amount of colors available was not enough to draw the true image.
Possibly useful in cartoon styled games. Use the strength variable to lessen
influence of this filter on the total result. Values from 0.2 to 0.7 appear
to give nice results.
Based on an article from Geeks3D:
http://www.geeks3d.com/20091027/shader-library-posterization-post-processing-effect-glsl/
-
Nested Class Summary
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
ConstructorsConstructorDescriptionCreates a posterization FilterPosterizationFilter(int numColors) Creates a posterization Filter with the given number of colorsPosterizationFilter(int numColors, float gamma) Creates a posterization Filter with the given number of colors and gamma -
Method Summary
Modifier and TypeMethodDescriptionfloatgetGamma()Returns current gamma valueprotected MaterialMust return the material used for this filter.intReturns number of color levels usedfloatReturns current strength value, i.e.protected voidinitFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) Initialization of filter subclasses.voidread(JmeImporter importer) Load properties when the filter is de-serialized, for example when loading from a J3O file.voidsetGamma(float gamma) Sets gamma level used to enhance visual qualityvoidsetNumColors(int numColors) Sets number of color levels used to draw the screenvoidsetStrength(float strength) Sets current strength value, i.e.voidwrite(JmeExporter exporter) Save properties when the filter is serialized, for example when saving to a J3O file.Methods inherited from class com.jme3.post.Filter
cleanup, cleanUpFilter, getDefaultPassDepthFormat, getDefaultPassTextureFormat, getName, getPostRenderPasses, getRenderedTexture, getRenderFrameBuffer, init, isEnabled, isRequiresBilinear, isRequiresDepthTexture, isRequiresSceneTexture, postFilter, postFrame, postQueue, preFrame, setDepthTexture, setEnabled, setName, setProcessor, setRenderedTexture, setRenderFrameBuffer
-
Constructor Details
-
PosterizationFilter
public PosterizationFilter()Creates a posterization Filter -
PosterizationFilter
public PosterizationFilter(int numColors) Creates a posterization Filter with the given number of colors- Parameters:
numColors- the desired number of colors (>0, default=8)
-
PosterizationFilter
public PosterizationFilter(int numColors, float gamma) Creates a posterization Filter with the given number of colors and gamma- Parameters:
numColors- the desired number of colors (>0, default=8)gamma- the desired exponent (default=0.6)
-
-
Method Details
-
initFilter
protected void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) Description copied from class:FilterInitialization of filter subclasses. This method is called once when the filter is added to the FilterPostProcessor It should contain Material initializations and extra passes initialization- Specified by:
initFilterin classFilter- Parameters:
manager- the assetManagerrenderManager- the renderManagervp- the viewPort where this filter is renderedw- the width of the filterh- the height of the filter
-
getMaterial
Description copied from class:FilterMust return the material used for this filter. this method is called every frame.- Specified by:
getMaterialin classFilter- Returns:
- the material used for this filter.
-
setNumColors
public void setNumColors(int numColors) Sets number of color levels used to draw the screen- Parameters:
numColors- the desired number of colors (>0, default=8)
-
setGamma
public void setGamma(float gamma) Sets gamma level used to enhance visual quality- Parameters:
gamma- the desired exponent (default=0.6)
-
setStrength
public void setStrength(float strength) Sets current strength value, i.e. influence on final image- Parameters:
strength- the desired influence factor (default=1)
-
getNumColors
public int getNumColors()Returns number of color levels used- Returns:
- the count (>0)
-
getGamma
public float getGamma()Returns current gamma value- Returns:
- the exponent
-
getStrength
public float getStrength()Returns current strength value, i.e. influence on final image- Returns:
- the influence factor
-
read
Load properties when the filter is de-serialized, for example when loading from a J3O file.- Specified by:
readin interfaceSavable- Overrides:
readin classFilter- Parameters:
importer- the importer to use (not null)- Throws:
IOException- from the importer
-
write
Save properties when the filter is serialized, for example when saving to a J3O file.- Specified by:
writein interfaceSavable- Overrides:
writein classFilter- Parameters:
exporter- the exporter to use (not null)- Throws:
IOException- from the exporter
-