Hi!
When adding a BloomFilter first and a WaterFilter short time after, the application crashes for some reason.
Exception:
[java]java.lang.UnsupportedOperationException: FrameBuffer already initialized.
at com.jme3.texture.FrameBuffer.setDepthTexture(FrameBuffer.java:400)
at com.jme3.post.FilterPostProcessor.initFilter(FilterPostProcessor.java:162)
at com.jme3.post.FilterPostProcessor.addFilter(FilterPostProcessor.java:109)
at mygame.Main.simpleUpdate(Main.java:56)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:242)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)
at java.lang.Thread.run(Thread.java:744)[/java]
Code:
[java]public class Main extends SimpleApplication
{
private FilterPostProcessor filterPostProcessor;
private WaterFilter waterFilter;
private BloomFilter bloomFilter;
private float a = 100;
public static void main(String[] args)
{
Main app = new Main();
app.start();
}
@Override
public void simpleInitApp()
{
Box b = new Box(1, 1, 1);
Geometry geom = new Geometry("Box", b);
cam.setLocation(new Vector3f(10, 10, 0));
cam.lookAt(geom.getWorldTranslation(), Vector3f.UNIT_Y);
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat.setColor("Color", ColorRGBA.Blue);
geom.setMaterial(mat);
bloomFilter = new BloomFilter();
waterFilter = new WaterFilter();
filterPostProcessor = new FilterPostProcessor(assetManager);
viewPort.addProcessor(filterPostProcessor);
filterPostProcessor.addFilter(bloomFilter);
rootNode.attachChild(geom);
}
@Override
public void simpleUpdate(float tpf)
{
System.out.println(a);
if (a-- < 0) //little countdown
{
filterPostProcessor.addFilter(waterFilter);
}
}
}
[/java]
The other way around (first adding waterfilter and bloom after the short countdown) does not lead to a crash, but the framerate drops to 1.
Am I breaking a rule or something?
Btw this does also apply to other filters.
Ideas?
Thank you.