@Override public void simpleRender(RenderManager rm){ Renderer r = rm.getRenderer(); //do FBO rendering r.setFrameBuffer(fb); rm.setCamera(cam, false); // FBO uses current camera r.clearBuffers(true, true, true); rm.renderScene(fbNode, viewPort); rm.flushQueue(viewPort); //go back to default rendering and let //SimpleApplication render the default scene r.setFrameBuffer(null); }
@Override public void simpleRender(RenderManager rm){ Renderer r = rm.getRenderer(); //do FBO rendering r.setFrameBuffer(fb); rm.setCamera(cam, false); // FBO uses current camera r.clearBuffers(true, true, true); rm.renderScene(fbNode, viewPort); rm.flushQueue(viewPort); //go back to default rendering and let //SimpleApplication render the default scene r.setFrameBuffer(null); }
public void postFrame(FrameBuffer out) { FrameBuffer sceneBuffer = renderFrameBuffer; if (renderFrameBufferMS != null && !renderer.getCaps().contains(Caps.OpenGL32)) { renderer.copyFrameBuffer(renderFrameBufferMS, renderFrameBuffer, true); } else if (renderFrameBufferMS != null) { sceneBuffer = renderFrameBufferMS; } renderFilterChain(renderer, sceneBuffer); renderer.setFrameBuffer(outputBuffer); //viewport can be null if no filters are enabled if (viewPort != null) { renderManager.setCamera(viewPort.getCamera(), false); } }
@Override protected void postQueue(RenderQueue queue) { if(!approximateNormals) { Renderer r = renderManager.getRenderer(); r.setFrameBuffer(normalPass.getRenderFrameBuffer()); renderManager.getRenderer().clearBuffers(true, true, true); renderManager.setForcedTechnique("PreNormalPass"); renderManager.renderViewPortQueues(viewPort, false); renderManager.setForcedTechnique(null); renderManager.getRenderer().setFrameBuffer(viewPort.getOutputFrameBuffer()); } }
@Override protected void postQueue(RenderQueue queue) { Renderer r = renderManager.getRenderer(); r.setFrameBuffer(normalPass.getRenderFrameBuffer()); renderManager.getRenderer().clearBuffers(true, true, true); renderManager.setForcedTechnique("PreNormalPass"); renderManager.renderViewPortQueues(viewPort, false); renderManager.setForcedTechnique(null); renderManager.getRenderer().setFrameBuffer(viewPort.getOutputFrameBuffer()); }
@Override protected void postQueue(RenderQueue queue) { if (glowMode != GlowMode.Scene) { renderManager.getRenderer().setBackgroundColor(ColorRGBA.BlackNoAlpha); renderManager.getRenderer().setFrameBuffer(preGlowPass.getRenderFrameBuffer()); renderManager.getRenderer().clearBuffers(true, true, true); renderManager.setForcedTechnique("Glow"); renderManager.renderViewPortQueues(viewPort, false); renderManager.setForcedTechnique(null); renderManager.getRenderer().setFrameBuffer(viewPort.getOutputFrameBuffer()); } }
@Override protected void postFrame(RenderManager renderManager, ViewPort viewPort, FrameBuffer prevFilterBuffer, FrameBuffer sceneBuffer) { renderManager.setCamera(viewPort.getCamera(), false); if (prevFilterBuffer != sceneBuffer) { renderManager.getRenderer().copyFrameBuffer(prevFilterBuffer, sceneBuffer, false); } renderManager.getRenderer().setFrameBuffer(sceneBuffer); viewPort.getQueue().renderQueue(RenderQueue.Bucket.Translucent, renderManager, viewPort.getCamera()); }
} else { r.setFrameBuffer(normalPass.getRenderFrameBuffer()); renderManager.getRenderer().clearBuffers(true, true, true); if( renderManager.getRenderer().getCaps().contains(Caps.GLSL150) ) { renderManager.getRenderer().setFrameBuffer(viewPort.getOutputFrameBuffer());
protected void renderShadowMap(int shadowMapIndex) { shadowMapOccluders = getOccludersToRender(shadowMapIndex, shadowMapOccluders); Camera shadowCam = getShadowCam(shadowMapIndex); //saving light view projection matrix for this split lightViewProjectionsMatrices[shadowMapIndex].set(shadowCam.getViewProjectionMatrix()); renderManager.setCamera(shadowCam, false); renderManager.getRenderer().setFrameBuffer(shadowFB[shadowMapIndex]); renderManager.getRenderer().clearBuffers(true, true, true); renderManager.setForcedRenderState(forcedRenderState); // render shadow casters to shadow map viewPort.getQueue().renderShadowQueue(shadowMapOccluders, renderManager, shadowCam, true); renderManager.setForcedRenderState(null); } boolean debugfrustums = false;
protected void renderShadowMap(int shadowMapIndex) { shadowMapOccluders = getOccludersToRender(shadowMapIndex, shadowMapOccluders); Camera shadowCam = getShadowCam(shadowMapIndex); //saving light view projection matrix for this split lightViewProjectionsMatrices[shadowMapIndex].set(shadowCam.getViewProjectionMatrix()); renderManager.setCamera(shadowCam, false); renderManager.getRenderer().setFrameBuffer(shadowFB[shadowMapIndex]); renderManager.getRenderer().clearBuffers(true, true, true); renderManager.setForcedRenderState(forcedRenderState); // render shadow casters to shadow map viewPort.getQueue().renderShadowQueue(shadowMapOccluders, renderManager, shadowCam, true); renderManager.setForcedRenderState(null); } boolean debugfrustums = false;
public void postQueue(RenderQueue rq) { //we need special treatement for the sky because it must not be clipped rm.getRenderer().setFrameBuffer(reflectionBuffer); reflectionCam.setProjectionMatrix(null); rm.setCamera(reflectionCam, false); rm.getRenderer().clearBuffers(true, true, true); //Rendering the sky whithout clipping rm.getRenderer().setDepthRange(1, 1); vp.getQueue().renderQueue(RenderQueue.Bucket.Sky, rm, reflectionCam, true); rm.getRenderer().setDepthRange(0, 1); //setting the clip plane to the cam reflectionCam.setClipPlane(reflectionClipPlane, Plane.Side.Positive);//,1 rm.setCamera(reflectionCam, false); }
renderer.setFrameBuffer(vp.getOutputFrameBuffer()); setCamera(vp.getCamera(), false); if (vp.isClearDepth() || vp.isClearColor() || vp.isClearStencil()) {
@SuppressWarnings("fallthrough") public void postQueue(RenderQueue rq) { lightReceivers.clear(); skipPostPass = false; if ( !checkCulling(viewPort.getCamera()) ) { skipPostPass = true; return; } updateShadowCams(viewPort.getCamera()); Renderer r = renderManager.getRenderer(); renderManager.setForcedMaterial(preshadowMat); renderManager.setForcedTechnique("PreShadow"); for (int shadowMapIndex = 0; shadowMapIndex < nbShadowMaps; shadowMapIndex++) { if (debugfrustums) { doDisplayFrustumDebug(shadowMapIndex); } renderShadowMap(shadowMapIndex); } debugfrustums = false; //restore setting for future rendering r.setFrameBuffer(viewPort.getOutputFrameBuffer()); renderManager.setForcedMaterial(null); renderManager.setForcedTechnique(null); renderManager.setCamera(viewPort.getCamera(), false); }
@SuppressWarnings("fallthrough") public void postQueue(RenderQueue rq) { lightReceivers.clear(); skipPostPass = false; if ( !checkCulling(viewPort.getCamera()) ) { skipPostPass = true; return; } updateShadowCams(viewPort.getCamera()); Renderer r = renderManager.getRenderer(); renderManager.setForcedMaterial(preshadowMat); renderManager.setForcedTechnique("PreShadow"); for (int shadowMapIndex = 0; shadowMapIndex < nbShadowMaps; shadowMapIndex++) { if (debugfrustums) { doDisplayFrustumDebug(shadowMapIndex); } renderShadowMap(shadowMapIndex); } debugfrustums = false; //restore setting for future rendering r.setFrameBuffer(viewPort.getOutputFrameBuffer()); renderManager.setForcedMaterial(null); renderManager.setForcedTechnique(null); renderManager.setCamera(viewPort.getCamera(), false); }
private void renderProcessing(Renderer r, FrameBuffer dst, Material mat){ if (dst == null){ fsQuad.setWidth(mainSceneFB.getWidth()); fsQuad.setHeight(mainSceneFB.getHeight()); fbCam.resize(mainSceneFB.getWidth(), mainSceneFB.getHeight(), true); }else{ fsQuad.setWidth(dst.getWidth()); fsQuad.setHeight(dst.getHeight()); fbCam.resize(dst.getWidth(), dst.getHeight(), true); } fsQuad.setMaterial(mat); fsQuad.updateGeometricState(); renderManager.setCamera(fbCam, true); r.setFrameBuffer(dst); r.clearBuffers(true, true, true); renderManager.renderGeometry(fsQuad); }
renderManager.setForcedMaterial(preshadowMat); r.setFrameBuffer(shadowFB); r.clearBuffers(true, true, true); viewPort.getQueue().renderShadowQueue(shadowOccluders, renderManager, shadowCam, true); r.setFrameBuffer(viewPort.getOutputFrameBuffer());
renderManager.getRenderer().setFrameBuffer(viewPort.getOutputFrameBuffer());
public void postQueue(RenderQueue rq) { Camera sceneCam = rm.getCurrentCamera(); //update refraction cam refractionCam.setLocation(sceneCam.getLocation()); refractionCam.setRotation(sceneCam.getRotation()); refractionCam.setFrustum(sceneCam.getFrustumNear(), sceneCam.getFrustumFar(), sceneCam.getFrustumLeft(), sceneCam.getFrustumRight(), sceneCam.getFrustumTop(), sceneCam.getFrustumBottom()); refractionCam.setParallelProjection(sceneCam.isParallelProjection()); //update reflection cam WaterUtils.updateReflectionCam(reflectionCam, plane, sceneCam); //Rendering reflection and refraction rm.renderViewPort(reflectionView, savedTpf); rm.renderViewPort(refractionView, savedTpf); rm.getRenderer().setFrameBuffer(vp.getOutputFrameBuffer()); rm.setCamera(sceneCam, false); }
r.setFrameBuffer(shadowFB[i]); r.clearBuffers(true, true, true); r.setFrameBuffer(viewPort.getOutputFrameBuffer()); renderManager.setForcedMaterial(null); renderManager.setForcedTechnique(null);
fsQuad.updateGeometricState(); r.setFrameBuffer(buff); r.clearBuffers(true, true, true); renderManager.renderGeometry(fsQuad);