package eu.tankernn.gameEngine.postProcessing.gaussianBlur; import eu.tankernn.gameEngine.loader.textures.Texture; import eu.tankernn.gameEngine.postProcessing.IPostProcessingEffect; import eu.tankernn.gameEngine.postProcessing.ImageRenderer; public class HorizontalBlur implements IPostProcessingEffect { private ImageRenderer renderer; private HorizontalBlurShader shader; public HorizontalBlur(int targetFboWidth, int targetFboHeight){ shader = new HorizontalBlurShader(); shader.start(); shader.targetWidth.loadFloat(targetFboWidth); shader.stop(); renderer = new ImageRenderer(targetFboWidth, targetFboHeight); } public void render(Texture colorTexture, Texture texture){ shader.start(); texture.bindToUnit(0); renderer.renderQuad(); shader.stop(); } public Texture getOutputTexture(){ return renderer.getOutputTexture(); } public void cleanUp(){ renderer.cleanUp(); shader.cleanUp(); } }