public void render(float tpf, boolean mainFrameBufferActive) {
        if (renderer instanceof NullRenderer) {
            return;
        }
        
        uniformBindingManager.newFrame();

        if (prof != null) {
            prof.appStep(AppStep.RenderPreviewViewPorts);
        }
        for (int i = 0; i < preViewPorts.size(); i++) {
            ViewPort vp = preViewPorts.get(i);
            if (vp.getOutputFrameBuffer() != null || mainFrameBufferActive) {
                renderViewPort(vp, tpf);
            }
        }

        if (prof != null) {
            prof.appStep(AppStep.RenderMainViewPorts);
        }
        for (int i = 0; i < viewPorts.size(); i++) {
            ViewPort vp = viewPorts.get(i);
            if (vp.getOutputFrameBuffer() != null || mainFrameBufferActive) {
                renderViewPort(vp, tpf);
            }
        }

        if (prof != null) {
            prof.appStep(AppStep.RenderPostViewPorts);
        }
        for (int i = 0; i < postViewPorts.size(); i++) {
            ViewPort vp = postViewPorts.get(i);
            if (vp.getOutputFrameBuffer() != null || mainFrameBufferActive) {
                renderViewPort(vp, tpf);
            }
        }
        
        // cleanup for used render pipelines and pipeline contexts only
        for (PipelineContext c : usedContexts) {
            c.endContextRenderFrame(this);
        }
        for (RenderPipeline p : usedPipelines) {
            p.endRenderFrame(this);
        }
        usedContexts.clear();
        usedPipelines.clear();
        
    }
Called by the application to render any ViewPorts
added to this RenderManager.

<p>Renders any viewports that were added using the following methods:
<ul>
<li>{@link #createPreView(java.lang.String, com.jme3.renderer.Camera) }</li>
<li>{@link #createMainView(java.lang.String, com.jme3.renderer.Camera) }</li>
<li>{@link #createPostView(java.lang.String, com.jme3.renderer.Camera) }</li>
</ul>

@param tpf Time per frame value
@param mainFrameBufferActive true to render viewports with no output
    FrameBuffer, false to skip them
jme3-core/src/main/java/com/jme3/renderer/RenderManager.java