First you need to display spritebatch if you want the fire to appear from behind rather than from above. The problem is that the screen clears when it displays 3D. Here are a few ways you could get close to this.
You can try to make sure that only the first process clears the screen.
This is the code:
Gdx.graphics.getGL20().glClearColor( 1, 0, 0, 1 ); Gdx.graphics.getGL20().glClear( GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT );
Unfortunately, if your 3D rendering causes this internally, and you have no control over it, then you are a bit attached. (I'm not sure how much library code or your own code you use)
I would suggest rendering for both frame buffer objects, and then you can simply render images from two frame buffer objects onto the screen in the form of 2D textures. You can then use blending between them if you want, or you can set alpha or turn off blending so that one is on top of the other, just make sure you render them in any order.
http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/glutils/FrameBuffer.html
source share