List of usage examples for com.badlogic.gdx.graphics GL20 GL_BLEND
int GL_BLEND
To view the source code for com.badlogic.gdx.graphics GL20 GL_BLEND.
Click Source Link
From source file:com.bitfire.postprocessing.demo.PostProcessing.java
License:Apache License
@Override public void beforeRenderToScreen() { if (blending) { Gdx.gl20.glEnable(GL20.GL_BLEND); Gdx.gl20.glBlendFunc(GL20.GL_SRC_COLOR, GL20.GL_SRC_ALPHA); } }
From source file:com.bitfire.postprocessing.effects.Bloom.java
License:Apache License
@Override public void render(final FrameBuffer src, final FrameBuffer dest) { Texture texsrc = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL20.GL_BLEND);/*from w w w . ja va 2 s .c om*/ pingPongBuffer.begin(); { // threshold / high-pass filter // only areas with pixels >= threshold are blit to smaller fbo threshold.setInput(texsrc).setOutput(pingPongBuffer.getSourceBuffer()).render(); // blur pass blur.render(pingPongBuffer); } pingPongBuffer.end(); if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { Gdx.gl.glBlendFunc(sfactor, dfactor); } // mix original scene and blurred threshold, modulate via // set(Base|Bloom)(Saturation|Intensity) combine.setOutput(dest).setInput(texsrc, pingPongBuffer.getResultTexture()).render(); }
From source file:com.bitfire.postprocessing.effects.CrtMonitor.java
License:Apache License
@Override public void render(FrameBuffer src, FrameBuffer dest) { // the original scene Texture in = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL10.GL_BLEND);/*from w ww.j a v a2 s . co m*/ Texture out = null; if (doblur) { pingPongBuffer.begin(); { // crt pass crt.setInput(in).setOutput(pingPongBuffer.getSourceBuffer()).render(); // blur pass blur.render(pingPongBuffer); } pingPongBuffer.end(); out = pingPongBuffer.getResultTexture(); } else { // crt pass crt.setInput(in).setOutput(buffer).render(); out = buffer.getColorBufferTexture(); } if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { Gdx.gl.glBlendFunc(sfactor, dfactor); } // do combine pass combine.setOutput(dest).setInput(in, out).render(); }
From source file:com.bitfire.postprocessing.effects.LensFlare2.java
License:Apache License
@Override public void render(final FrameBuffer src, final FrameBuffer dest) { Texture texsrc = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL20.GL_BLEND);//from w ww .j av a 2 s . com pingPongBuffer.begin(); { // apply bias bias.setInput(texsrc).setOutput(pingPongBuffer.getSourceBuffer()).render(); lens.setInput(pingPongBuffer.getSourceBuffer()).setOutput(pingPongBuffer.getResultBuffer()).render(); pingPongBuffer.set(pingPongBuffer.getResultBuffer(), pingPongBuffer.getSourceBuffer()); // blur pass blur.render(pingPongBuffer); } pingPongBuffer.end(); if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { Gdx.gl.glBlendFunc(sfactor, dfactor); } restoreViewport(dest); // mix original scene and blurred threshold, modulate via combine.setOutput(dest).setInput(texsrc, pingPongBuffer.getResultTexture()).render(); }
From source file:com.bitfire.postprocessing.effects.LightGlow.java
License:Apache License
@Override public void render(final FrameBuffer src, final FrameBuffer dest) { Texture texsrc = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL20.GL_BLEND);//from w w w . j a va 2 s . com pingPongBuffer.begin(); { // apply bias bias.setInput(texsrc).setOutput(pingPongBuffer.getSourceBuffer()).render(); glow.setInput(pingPongBuffer.getSourceBuffer()).setOutput(pingPongBuffer.getResultBuffer()).render(); } pingPongBuffer.end(); if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { Gdx.gl.glBlendFunc(sfactor, dfactor); } restoreViewport(dest); // mix original scene and blurred threshold, modulate via combine.setOutput(dest).setInput(texsrc, pingPongBuffer.getResultTexture()).render(); }
From source file:com.bitfire.postprocessing.effects.LightScattering.java
License:Apache License
@Override public void render(final FrameBuffer src, final FrameBuffer dest) { Texture texsrc = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL20.GL_BLEND);/*w ww . j a v a 2s .c o m*/ pingPongBuffer.begin(); { // apply bias bias.setInput(texsrc).setOutput(pingPongBuffer.getSourceBuffer()).render(); scattering.setInput(pingPongBuffer.getSourceBuffer()).setOutput(pingPongBuffer.getResultBuffer()) .render(); pingPongBuffer.set(pingPongBuffer.getResultBuffer(), pingPongBuffer.getSourceBuffer()); // blur pass blur.render(pingPongBuffer); } pingPongBuffer.end(); if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { Gdx.gl.glBlendFunc(sfactor, dfactor); } restoreViewport(dest); // mix original scene and blurred threshold, modulate via combine.setOutput(dest).setInput(texsrc, pingPongBuffer.getResultTexture()).render(); }
From source file:com.bladecoder.engineeditor.scneditor.CanvasDrawer.java
License:Apache License
public void drawSelectedActor(BaseActor selectedActor) { // Gdx.gl20.glLineWidth(3); Gdx.gl20.glEnable(GL20.GL_BLEND); // Gdx.gl20.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); drawer.setProjectionMatrix(camera.combined); // drawer.setTransformMatrix(new Matrix4()); if (selectedActor instanceof AnchorActor) { drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(MOUSESELECTION_STROKE_COLOR); drawer.rect(selectedActor.getX() - Scene.ANCHOR_RADIUS, selectedActor.getY() - Scene.ANCHOR_RADIUS, Scene.ANCHOR_RADIUS * 2, Scene.ANCHOR_RADIUS * 2); drawer.end();// ww w. j a va2 s .co m } else { Rectangle rect = selectedActor.getBBox().getBoundingRectangle(); drawer.begin(ShapeRenderer.ShapeType.Filled); drawer.setColor(MOUSESELECTION_FILL_COLOR); drawer.rect(rect.x, rect.y, rect.width, rect.height); drawer.end(); drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(MOUSESELECTION_STROKE_COLOR); drawer.rect(rect.x, rect.y, rect.width, rect.height); // DRAW SELECTION BOUNDS if ((!(selectedActor instanceof SpriteActor) || !((SpriteActor) selectedActor).isBboxFromRenderer()) && !(selectedActor instanceof AnchorActor)) { float verts[] = selectedActor.getBBox().getTransformedVertices(); for (int i = 0; i < verts.length; i += 2) drawer.rect(verts[i] - CORNER_DIST / 2, verts[i + 1] - CORNER_DIST / 2, CORNER_DIST, CORNER_DIST); } drawer.end(); } }
From source file:com.blastedstudios.ledge.ui.postprocessing.effects.Bloom.java
License:Apache License
@Override public void render(final FrameBuffer src, final FrameBuffer dest) { Texture texsrc = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL20.GL_BLEND);//from w w w . jav a2 s. c o m pingPongBuffer.begin(); { // threshold / high-pass filter // only areas with pixels >= threshold are blit to smaller fbo threshold.setInput(texsrc).setOutput(pingPongBuffer.getSourceBuffer()).render(); // blur pass blur.render(pingPongBuffer); } pingPongBuffer.end(); if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { // TODO support for Gdx.gl.glBlendFuncSeparate(sfactor, dfactor, GL20.GL_ONE, GL20.GL_ONE ); Gdx.gl.glBlendFunc(sfactor, dfactor); } restoreViewport(dest); // mix original scene and blurred threshold, modulate via // set(Base|Bloom)(Saturation|Intensity) combine.setOutput(dest).setInput(texsrc, pingPongBuffer.getResultTexture()).render(); }
From source file:com.blastedstudios.ledge.ui.postprocessing.effects.CrtMonitor.java
License:Apache License
@Override public void render(FrameBuffer src, FrameBuffer dest) { // the original scene Texture in = src.getColorBufferTexture(); boolean blendingWasEnabled = PostProcessor.isStateEnabled(GL20.GL_BLEND); Gdx.gl.glDisable(GL20.GL_BLEND);/* w w w . j a v a 2s . c o m*/ Texture out = null; if (doblur) { pingPongBuffer.begin(); { // crt pass crt.setInput(in).setOutput(pingPongBuffer.getSourceBuffer()).render(); // blur pass blur.render(pingPongBuffer); } pingPongBuffer.end(); out = pingPongBuffer.getResultTexture(); } else { // crt pass crt.setInput(in).setOutput(buffer).render(); out = buffer.getColorBufferTexture(); } if (blending || blendingWasEnabled) { Gdx.gl.glEnable(GL20.GL_BLEND); } if (blending) { Gdx.gl.glBlendFunc(sfactor, dfactor); } restoreViewport(dest); // do combine pass combine.setOutput(dest).setInput(in, out).render(); }
From source file:com.box2dLight.box2dLight.LightMap.java
License:Apache License
public void render(Matrix4 combined, float x1, float x2, float y1, float y2) { boolean needed = rayHandler.lightRenderedLastFrame > 0; // this way lot less binding if (needed && rayHandler.blur) gaussianBlur();// w w w .j a va 2s . c o m if (lightMapDrawingDisabled) { return; } frameBuffer.getColorBufferTexture().bind(0); // at last lights are rendered over scene if (rayHandler.shadows) { final Color c = rayHandler.ambientLight; ShaderProgram shader = shadowShader; if (RayHandler.isDiffuse) { shader = diffuseShader; shader.begin(); Gdx.gl20.glBlendFunc(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR); shader.setUniformf("ambient", c.r, c.g, c.b, c.a); } else { shader.begin(); Gdx.gl20.glBlendFunc(GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA); shader.setUniformf("ambient", c.r * c.a, c.g * c.a, c.b * c.a, 1f - c.a); } lightMapMesh.render(shader, GL20.GL_TRIANGLE_FAN); shader.end(); } else if (needed) { Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE); withoutShadowShader.begin(); // withoutShadowShader.setUniformi("u_texture", 0); lightMapMesh.render(withoutShadowShader, GL20.GL_TRIANGLE_FAN); withoutShadowShader.end(); } Gdx.gl20.glDisable(GL20.GL_BLEND); }