BloomFilter, applied James patch to make sure the filter is properly re initialized when de downsampling factor is changed.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10943 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
experimental
rem..om 11 years ago
parent b77f5a422c
commit f8c317f593
  1. 15
      engine/src/core-effects/com/jme3/post/filters/BloomFilter.java

@ -95,6 +95,10 @@ public class BloomFilter extends Filter {
private RenderManager renderManager;
private ViewPort viewPort;
private AssetManager assetManager;
private int initalWidth;
private int initalHeight;
/**
* Creates a Bloom filter
*/
@ -115,6 +119,11 @@ public class BloomFilter extends Filter {
protected void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) {
this.renderManager = renderManager;
this.viewPort = vp;
this.assetManager = manager;
this.initalWidth = w;
this.initalHeight = h;
screenWidth = (int) Math.max(1, (w / downSamplingFactor));
screenHeight = (int) Math.max(1, (h / downSamplingFactor));
// System.out.println(screenWidth + " " + screenHeight);
@ -184,6 +193,10 @@ public class BloomFilter extends Filter {
}
protected void reInitFilter() {
initFilter(assetManager, renderManager, viewPort, initalWidth, initalHeight);
}
@Override
protected Material getMaterial() {
material.setFloat("BloomIntensity", bloomIntensity);
@ -286,6 +299,8 @@ public class BloomFilter extends Filter {
*/
public void setDownSamplingFactor(float downSamplingFactor) {
this.downSamplingFactor = downSamplingFactor;
if (assetManager != null) // dirty isInitialised check
reInitFilter();
}
@Override

Loading…
Cancel
Save