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.esotericsoftware.spine.utils.TwoColorPolygonBatch.java
License:Open Source License
@Override public void end() { if (!drawing) throw new IllegalStateException("begin must be called before end."); if (vertexIndex > 0) flush();/* w w w. ja v a 2 s . co m*/ shader.end(); Gdx.gl.glDepthMask(true); if (isBlendingEnabled()) Gdx.gl.glDisable(GL20.GL_BLEND); lastTexture = null; drawing = false; }
From source file:com.esotericsoftware.spine.utils.TwoColorPolygonBatch.java
License:Open Source License
@Override public void flush() { if (vertexIndex == 0) return;/*from w w w .j a va 2 s . c o m*/ totalRenderCalls++; lastTexture.bind(); Mesh mesh = this.mesh; mesh.setVertices(vertices, 0, vertexIndex); mesh.setIndices(triangles, 0, triangleIndex); Gdx.gl.glEnable(GL20.GL_BLEND); if (blendSrcFunc != -1) Gdx.gl.glBlendFuncSeparate(blendSrcFunc, blendDstFunc, blendSrcFuncAlpha, blendDstFuncAlpha); mesh.render(shader, GL20.GL_TRIANGLES, 0, triangleIndex); vertexIndex = 0; triangleIndex = 0; }
From source file:com.github.fauu.helix.core.Renderer.java
License:Open Source License
public void render(Camera camera, Array<RenderableProvider> renderableProviders, Array<Decal> decals) { final GL20 gl = Gdx.graphics.getGL20(); gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); gl.glClearColor(0.1f, 0.1f, 0.1f, 1); gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); gl.glEnable(GL20.GL_BLEND); gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); if (decalBatch == null) { defaultCameraGroupStrategy = new CameraGroupStrategy(camera); waterCameraGroupStrategy = new CameraGroupStrategy(waterCamera); decalBatch = new DecalBatch(defaultCameraGroupStrategy); }/* ww w . j av a 2s . co m*/ //waterCamera.moveTo(new Vector2(13, 19)); /* Render objects to framebuffer */ fb.begin(); gl.glClearColor(0, 0, 0, 0); gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); gl.glEnable(GL20.GL_BLEND); gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); renderContext.begin(); modelBatch.begin(waterCamera); for (int i = 1; i < renderableProviders.size - 1; i++) { modelBatch.render(renderableProviders.get(i)); } modelBatch.end(); renderContext.end(); decalBatch.setGroupStrategy(waterCameraGroupStrategy); if (decals != null) { decals.first().rotateX(50); decalBatch.add(decals.first()); decalBatch.flush(); decals.first().rotateX(-50); } // Vector3 waterPos = waterCamera.project(new Vector3(8, 0, 19)); // reflectionPixmap = ScreenUtils.getFrameBufferPixmap((int) waterPos.x, (int) waterPos.y, 348, 261); // reflectionPixmap = ScreenUtils.getFrameBufferPixmap(0, 0, 800, 600); fb.end(); // if (reflectionTexture == null) { // reflectionTexture = new Texture(reflectionPixmap); // } else { // reflectionTexture.draw(reflectionPixmap, 0, 0); // } ((WaterData) ((ModelInstance) renderableProviders .get(renderableProviders.size - 1)).userData).reflectionTexture = fb.getColorBufferTexture(); /* Render objects and terrain to the screen */ renderContext.begin(); modelBatch.begin(camera); modelBatch.render(renderableProviders); modelBatch.end(); renderContext.end(); decalBatch.setGroupStrategy(defaultCameraGroupStrategy); if (decals != null) { decalBatch.add(decals.first()); } decalBatch.flush(); spriteBatch.begin(); spriteBatch.enableBlending(); spriteBatch.draw(fb.getColorBufferTexture(), 0, 0, 800, 600); spriteBatch.end(); }
From source file:com.github.fauu.helix.system.ScreenFadingSystem.java
License:Open Source License
@Override protected void processSystem() { if (fadeLevel >= fadeDuration) { fadeLevel = fadeDuration;/*from w w w .jav a 2 s . co m*/ } else if (fadeLevel <= 0) { fadeLevel = 0; } Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); shapeRenderer.setColor(0, 0, 0, fadeLevel / fadeDuration); shapeRenderer.rect(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); shapeRenderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); switch (fadeType) { case FADE_OUT: fadeLevel += Gdx.graphics.getDeltaTime(); break; case FADE_IN: fadeLevel -= Gdx.graphics.getDeltaTime(); break; default: throw new IllegalStateException(); } }
From source file:com.jlabarca.kflame.MeshShader.java
License:Apache License
@Override public void render() { angle += Gdx.graphics.getDeltaTime() * 45; matrix.setToRotation(axis, angle);//from w w w .j a v a 2 s. c o m Gdx.gl20.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); Gdx.gl20.glClearColor(0.2f, 0.2f, 0.2f, 1); Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl20.glEnable(GL20.GL_TEXTURE_2D); Gdx.gl20.glEnable(GL20.GL_BLEND); Gdx.gl20.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); texture.bind(); shader.begin(); shader.setUniformMatrix("u_worldView", matrix); shader.setUniformi("u_texture", 0); mesh.render(shader, GL20.GL_TRIANGLES); shader.end(); }
From source file:com.johnogel.astrobros.levels.Level.java
@Override public void render() { mngr.renderGameObjects();/* w w w .j av a 2 s .c om*/ if (paused) { Texture texture = mngr.getTextureHandler().getTexture(TextureHandler.PAUSED); SpriteBatch batch = mngr.getSpriteBatch(); Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shape_renderer.setColor(0, 0, 0, .5f); shape_renderer.begin(ShapeRenderer.ShapeType.Filled); shape_renderer.rect(-50, 0, 1200, 1200); shape_renderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); batch.setProjectionMatrix(camera.projection); batch.begin(); batch.draw(texture, -10, 10, 20, 20); batch.end(); //batch.setProjectionMatrix(camera.combined); } }
From source file:com.johnogel.astrobros.managers.OpeningManager.java
private void resolveTransition() { if ((fading_out || fading_in)) { if (fading_out) { alpha += DELTA;/* w w w .j a v a 2 s.c o m*/ if (alpha > .999f) { fading_out = false; fading_in = true; texture_index++; } } else if (fading_in) { alpha -= DELTA; if (alpha < .001f) { fading_in = false; } } Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shape_renderer.setColor(0, 0, 0, alpha); shape_renderer.begin(ShapeRenderer.ShapeType.Filled); shape_renderer.rect(-50, 0, 1200, 1200); shape_renderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); } // else if (texture_handler.isLoading() && transitioning){ // Gdx.gl.glEnable(GL20.GL_BLEND); // Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); // shape_renderer.setColor(0, 0, .50f, .08f); // shape_renderer.begin(ShapeRenderer.ShapeType.Filled); // shape_renderer.rect(-50, 0,1200, 1200); // shape_renderer.end(); // Gdx.gl.glDisable(GL20.GL_BLEND); // // } // else if(transitioning){ // fading_in = true; // transitioning = false; // } }
From source file:com.johnogel.astrobros.managers.SuperManager.java
private void resolveTransition() { if ((fading_out || fading_in)) { if (fading_out) { alpha += DELTA;//from www . jav a 2s. c om if (alpha > .999f) { fading_out = false; fading_in = true; if (this.super_controller_changed) { manager = managers.get(index); this.super_controller_changed = false; sound_player.dispose(); manager.initialize(); manager.update(); } else { manager.initializeController(); manager.update(); } } } else if (fading_in) { alpha -= DELTA; if (alpha < .001f) { fading_in = false; } } Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shape_renderer.setColor(0, 0, 0, alpha); shape_renderer.begin(ShapeRenderer.ShapeType.Filled); shape_renderer.rect(-50, 0, 1200, 1200); shape_renderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); } // else if (texture_handler.isLoading() && transitioning){ // Gdx.gl.glEnable(GL20.GL_BLEND); // Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); // shape_renderer.setColor(0, 0, .50f, .08f); // shape_renderer.begin(ShapeRenderer.ShapeType.Filled); // shape_renderer.rect(-50, 0,1200, 1200); // shape_renderer.end(); // Gdx.gl.glDisable(GL20.GL_BLEND); // // } // else if(transitioning){ // fading_in = true; // transitioning = false; // } }
From source file:com.jwatson.omnigame.graphics.CustomBatch.java
License:Apache License
private void renderMesh() { if (idx == 0) return;/*from w ww . j a v a2 s.com*/ renderCalls++; totalRenderCalls++; int spritesInBatch = idx / 32; if (spritesInBatch > maxSpritesInBatch) maxSpritesInBatch = spritesInBatch; lastTexture.bind(); mesh.setVertices(vertices, 0, idx); mesh.getIndicesBuffer().position(0); mesh.getIndicesBuffer().limit(spritesInBatch * 6); if (blendingDisabled) { Gdx.gl.glDisable(GL20.GL_BLEND); } else { Gdx.gl.glEnable(GL20.GL_BLEND); if (blendSrcFunc != -1) Gdx.gl.glBlendFunc(blendSrcFunc, blendDstFunc); } if (Gdx.graphics.isGL20Available()) { if (customShader != null) mesh.render(customShader, GL10.GL_TRIANGLES, 0, spritesInBatch * 6); else mesh.render(shader, GL10.GL_TRIANGLES, 0, spritesInBatch * 6); } else { mesh.render(GL10.GL_TRIANGLES, 0, spritesInBatch * 6); } idx = 0; currBufferIdx++; if (currBufferIdx == buffers.length) currBufferIdx = 0; mesh = buffers[currBufferIdx]; }
From source file:com.kingx.dungeons.graphics.cube.CubeRenderer.java
License:Apache License
private void renderMesh() { if (idx == 0) return;/*from w w w . ja va 2 s.c o m*/ renderCalls++; totalRenderCalls++; int quadsInBatch = idx / verticesPerQuad; if (quadsInBatch / Cube.QUADS > cubeCount) cubeCount = quadsInBatch; mesh.setVertices(vertices, 0, idx); mesh.getIndicesBuffer().position(0); mesh.getIndicesBuffer().limit(quadsInBatch * CubeSide.INDICES); total += idx; if (blendingDisabled) { Gdx.gl.glDisable(GL20.GL_BLEND); } else { Gdx.gl.glEnable(GL20.GL_BLEND); if (blendSrcFunc != -1) Gdx.gl.glBlendFunc(blendSrcFunc, blendDstFunc); } if (customShader != null) mesh.render(customShader, App.DEBUG != null && App.isWireframe() ? GL10.GL_LINES : GL10.GL_TRIANGLES, 0, quadsInBatch * CubeSide.INDICES); else mesh.render(shader, App.DEBUG != null && App.isWireframe() ? GL10.GL_LINES : GL10.GL_TRIANGLES, 0, quadsInBatch * CubeSide.INDICES); idx = 0; currBufferIdx++; if (currBufferIdx == buffers.length) currBufferIdx = 0; mesh = buffers[currBufferIdx]; }