/** * In a number of occasions the rendering loop swaps two important FBOs. This method is used to * trigger the PostProcessor instance into refreshing the internal references to these FBOs. */ public void refreshSceneOpaqueFBOs() { buffers.sceneOpaque = renderingProcess.getFBO("sceneOpaque"); buffers.sceneOpaquePingPong = renderingProcess.getFBO("sceneOpaquePingPong"); }
// TODO: update javadoc when the rendering process becomes the FrameBuffersManager public void refreshDynamicFBOs() { // initial renderings buffers.sceneOpaque = renderingProcess.getFBO("sceneOpaque"); buffers.sceneOpaquePingPong = renderingProcess.getFBO("sceneOpaquePingPong"); buffers.sceneSkyBand0 = renderingProcess.getFBO("sceneSkyBand0"); buffers.sceneSkyBand1 = renderingProcess.getFBO("sceneSkyBand1"); buffers.sceneReflectiveRefractive = renderingProcess.getFBO("sceneReflectiveRefractive"); // sceneReflected, in case one wonders, is not used by the post-processor. // pre-post composite buffers.outline = renderingProcess.getFBO("outline"); buffers.ssao = renderingProcess.getFBO("ssao"); buffers.ssaoBlurred = renderingProcess.getFBO("ssaoBlurred"); // initial post-processing buffers.lightShafts = renderingProcess.getFBO("lightShafts"); buffers.initialPost = renderingProcess.getFBO("initialPost"); buffers.currentReadbackPBO = renderingProcess.getCurrentReadbackPBO(); buffers.sceneToneMapped = renderingProcess.getFBO("sceneToneMapped"); buffers.sceneHighPass = renderingProcess.getFBO("sceneHighPass"); buffers.sceneBloom0 = renderingProcess.getFBO("sceneBloom0"); buffers.sceneBloom1 = renderingProcess.getFBO("sceneBloom1"); buffers.sceneBloom2 = renderingProcess.getFBO("sceneBloom2"); buffers.sceneBlur0 = renderingProcess.getFBO("sceneBlur0"); buffers.sceneBlur1 = renderingProcess.getFBO("sceneBlur1"); // final post-processing buffers.ocUndistorted = renderingProcess.getFBO("ocUndistorted"); buffers.sceneFinal = renderingProcess.getFBO("sceneFinal"); fullScale = buffers.sceneOpaque.dimensions(); }