Main screen FrameBuffer confusion

Hi all,

I am a bit confused about how to render directly to the screen and what roll it plays in viewports.

So far, I render a bunch of things to framebuffers by creating a new framebuffer and setting that to a viewport. For instance:

filterViewPort = renderManager.createMainView("filterViewPort", cam); filterViewPort.setOutputFrameBuffer(someBufferICreated);

Now, I want to draw one of these textures on the screen but I don't want to use the default viewport in SimpleApplication (so far that's the only way I know how to draw to the screen). I thought maybe I could just write to the same buffer as the default viewport, but viewport.getOutputFrameBuffer() is null?
filterViewPort.setOutputFrameBuffer(viewport.getOutputFrameBuffer()); // viewport.getOutputFrameBuffer() is null

This causes null pointer problems.

So, is there a default special framebuffer that results in output going directly to the screen? I do not need to read from this framebuffer at all.
If that's not the case, how does it work?
And is there a way for me to tell something to draw directly to the screen?

My apologies.


Does in fact draw to the screen. In my case it will go into LwjglRenderer and set the appropriate settings in OpenGL.

The null pointers were coming because I switching the framebuffer in a filter and trying to read that framebuffer in a later update