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
ConstructorDescriptionCreates 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 TypeMethodDescriptionfloat
getGamma()
Returns current gamma valueprotected Material
Must return the material used for this filter.int
Returns number of color levels usedfloat
Returns current strength value, i.e.protected void
initFilter
(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) Initialization of filter subclasses.void
read
(JmeImporter importer) Load properties when the filter is de-serialized, for example when loading from a J3O file.void
setGamma
(float gamma) Sets gamma level used to enhance visual qualityvoid
setNumColors
(int numColors) Sets number of color levels used to draw the screenvoid
setStrength
(float strength) Sets current strength value, i.e.void
write
(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:Filter
Initialization 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:
initFilter
in 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:Filter
Must return the material used for this filter. this method is called every frame.- Specified by:
getMaterial
in 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:
read
in interfaceSavable
- Overrides:
read
in 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:
write
in interfaceSavable
- Overrides:
write
in classFilter
- Parameters:
exporter
- the exporter to use (not null)- Throws:
IOException
- from the exporter
-