Taking one screenshot works but the second time it crashes the app with:
com.jme3.renderer.RendererException: Attempting to upload empty buffer (remaining = 0), that's an error
at com.jme3.renderer.lwjgl.LwjglRender.checkLimit(LwjglRender.java:22)
at com.jme3.renderer.lwjgl.LwjglGL.glReadPixels(LwjglGL.java:399)
at com.jme3.renderer.opengl.GLRenderer.readFrameBufferWithGLFormat(GLRenderer.java:2165)
at com.jme3.renderer.opengl.GLRenderer.readFrameBuffer(GLRenderer.java:2147)
at com.jme3.app.state.ScreenshotAppState.postFrame(ScreenshotAppState.java:287)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1233)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1297)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:278)
at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:622)
at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:711)
at java.lang.Thread.run(Thread.java:748)
The code to reproduce the error:
public class ScreenshotDemo extends SimpleApplication {
public static void main(String[] args) {
new ScreenshotDemo().start();
}
public ScreenshotDemo() {
super(new ScreenshotAppState(null, "test-"));
}
@Override
public void simpleInitApp() {
inputManager.addMapping("ScreenShot", new KeyTrigger(KeyInput.KEY_F12));
}
}
Taking one screenshot works but the second time it crashes the app with:
The code to reproduce the error: