Example usage for com.badlogic.gdx.graphics GL20 GL_BLEND

List of usage examples for com.badlogic.gdx.graphics GL20 GL_BLEND

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics GL20 GL_BLEND.

Prototype

int GL_BLEND

To view the source code for com.badlogic.gdx.graphics GL20 GL_BLEND.

Click Source Link

Usage

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];
}