material.setTexture("BloomTex", verticalalBlur.getRenderedTexture());
@Override protected void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) { this.renderManager = renderManager; this.viewPort = vp; int screenWidth = Math.round(w / downsample); int screenHeight = Math.round(h / downsample); normalPass = new Pass(); normalPass.init(renderManager.getRenderer(), screenWidth, screenHeight, Format.RGBA8, Format.Depth); frustumNearFar = new Vector2f(); float farY = (vp.getCamera().getFrustumTop() / vp.getCamera().getFrustumNear()) * vp.getCamera().getFrustumFar(); float farX = farY * ((float) screenWidth / (float) screenHeight); frustumCorner = new Vector3f(farX, farY, vp.getCamera().getFrustumFar()); frustumNearFar.x = vp.getCamera().getFrustumNear(); frustumNearFar.y = vp.getCamera().getFrustumFar(); //ssao Pass material = new Material(manager, "Common/MatDefs/VR/CartoonSSAO.j3md"); material.setTexture("Normals", normalPass.getRenderedTexture()); material.setVector3("FrustumCorner", frustumCorner); material.setVector2("FrustumNearFar", frustumNearFar); material.setFloat("Distance", applyDistance); if( useOutline == false ) material.setBoolean("disableOutline", true); if( instancedRendering ) material.setBoolean("useInstancing", true); }
ssaoMat.setTexture("Normals", normalPass.getRenderedTexture()); Texture random = manager.loadTexture("Common/MatDefs/SSAO/Textures/random.png"); random.setWrap(Texture.WrapMode.Repeat); material.setTexture("SSAOMap", ssaoPass.getRenderedTexture());
@Override public void beforeRender() { extractMat.setFloat("ExposurePow", exposurePower); extractMat.setFloat("ExposureCutoff", exposureCutOff); if (glowMode != GlowMode.Scene) { extractMat.setTexture("GlowMap", preGlowPass.getRenderedTexture()); } extractMat.setBoolean("Extract", glowMode != GlowMode.Objects); } };
/** * Sets the size of the reflection map * default is 512, the higher, the better quality, but the slower the effect. * @param reflectionMapSize */ public void setReflectionMapSize(int reflectionMapSize) { this.reflectionMapSize = reflectionMapSize; //if reflection pass is already initialized we must update it if(reflectionPass != null){ reflectionPass.init(renderManager.getRenderer(), reflectionMapSize, reflectionMapSize, Format.RGBA8, Format.Depth); reflectionCam.resize(reflectionMapSize, reflectionMapSize, true); reflectionProcessor.setReflectionBuffer(reflectionPass.getRenderFrameBuffer()); material.setTexture("ReflectionMap", reflectionPass.getRenderedTexture()); } }
@Override public void beforeRender() { hBlurMat.setTexture("Texture", extractPass.getRenderedTexture()); hBlurMat.setFloat("Size", screenWidth); hBlurMat.setFloat("Scale", blurScale); } };
@Override protected Material getMaterial() { material.setTexture("NormalsTexture", normalPass.getRenderedTexture()); return material; }
@Override public void beforeRender() { vBlurMat.setTexture("Texture", horizontalBlur.getRenderedTexture()); vBlurMat.setFloat("Size", screenHeight); vBlurMat.setFloat("Scale", blurScale); } };
@Override public void beforeRender() { vBlurMat.setTexture("Texture", horizontalBlur.getRenderedTexture()); vBlurMat.setFloat("Size", screenHeight); vBlurMat.setFloat("Scale", blurScale); } };
@Override public void beforeRender() { hBlurMat.setTexture("Texture", extractPass.getRenderedTexture()); hBlurMat.setFloat("Size", screenWidth); hBlurMat.setFloat("Scale", blurScale); } };
@Override public void beforeRender() { extractMat.setFloat("ExposurePow", exposurePower); extractMat.setFloat("ExposureCutoff", exposureCutOff); if (glowMode != GlowMode.Scene) { extractMat.setTexture("GlowMap", preGlowPass.getRenderedTexture()); } extractMat.setBoolean("Extract", glowMode != GlowMode.Objects); } };
@Override public void beforeRender() { hBlurMat.setTexture("Texture", extractPass.getRenderedTexture()); hBlurMat.setFloat("Size", screenWidth); hBlurMat.setFloat("Scale", blurScale); } };
@Override public void beforeRender() { extractMat.setFloat("ExposurePow", exposurePower); extractMat.setFloat("ExposureCutoff", exposureCutOff); if (glowMode != GlowMode.Scene) { extractMat.setTexture("GlowMap", preGlowPass.getRenderedTexture()); } extractMat.setBoolean("Extract", glowMode != GlowMode.Objects); } };
@Override protected Material getMaterial() { material.setTexture("NormalsTexture", normalPass.getRenderedTexture()); return material; }
material.setTexture("FoamMap", foamTexture); material.setTexture("NormalMap", normalTexture); material.setTexture("ReflectionMap", reflectionPass.getRenderedTexture());
/** * Sets the size of the reflection map * default is 512, the higher, the better quality, but the slower the effect. * @param reflectionMapSize */ public void setReflectionMapSize(int reflectionMapSize) { this.reflectionMapSize = reflectionMapSize; //if reflection pass is already initialized we must update it if(reflectionPass != null){ reflectionPass.init(renderManager.getRenderer(), reflectionMapSize, reflectionMapSize, Format.RGBA8, Format.Depth); reflectionCam.resize(reflectionMapSize, reflectionMapSize, true); reflectionProcessor.setReflectionBuffer(reflectionPass.getRenderFrameBuffer()); material.setTexture("ReflectionMap", reflectionPass.getRenderedTexture()); } }
@Override public void beforeRender() { extractMat.setFloat("ExposurePow", exposurePower); extractMat.setFloat("ExposureCutoff", exposureCutOff); if (glowMode != GlowMode.Scene) { extractMat.setTexture("GlowMap", preGlowPass.getRenderedTexture()); } extractMat.setBoolean("Extract", glowMode != GlowMode.Objects); } };
@Override protected Material getMaterial() { material.setTexture("NormalsTexture", normalPass.getRenderedTexture()); return material; }
@Override public void beforeRender() { vBlurMat.setTexture("Texture", horizontalBlur.getRenderedTexture()); vBlurMat.setFloat("Size", screenHeight); vBlurMat.setFloat("Scale", blurScale); } };
@Override public void beforeRender() { hBlurMat.setTexture("Texture", extractPass.getRenderedTexture()); hBlurMat.setFloat("Size", screenWidth); hBlurMat.setFloat("Scale", blurScale); } };