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

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

Introduction

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

Prototype

int GL_DEPTH_BUFFER_BIT

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

Click Source Link

Usage

From source file:com.bladecoder.engine.model.Sprite3DRenderer.java

License:Apache License

/**
 * Render the 3D model into the texture//from  w  ww.j a  v a 2s.  c om
 */
private void renderTex() {
    updateViewport();

    fb.begin();

    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

    drawModel();

    fb.end((int) VIEWPORT.x, (int) VIEWPORT.y, (int) VIEWPORT.width, (int) VIEWPORT.height);
}

From source file:com.bladecoder.engine.model.Sprite3DRenderer.java

License:Apache License

@Override
public void draw(SpriteBatch batch, float x, float y, float scale) {

    x = x - getWidth() / 2 * scale;//from w ww .j a  va2 s  .c  o  m

    if (USE_FBO) {
        batch.draw(tex, x, y, 0, 0, width, height, scale, scale, 0);
    } else {
        float p0x, p0y, pfx, pfy;

        Vector3 tmp = new Vector3(); // TODO Make static for performance?
        updateViewport();

        // get screen coords for x and y
        tmp.set(x, y, 0);

        tmp.mul(batch.getTransformMatrix());
        tmp.prj(batch.getProjectionMatrix());
        p0x = VIEWPORT.width * (tmp.x + 1) / 2;
        p0y = VIEWPORT.height * (tmp.y + 1) / 2;

        tmp.set(x + width * scale, y + height * scale, 0);
        tmp.mul(batch.getTransformMatrix());
        tmp.prj(batch.getProjectionMatrix());
        pfx = VIEWPORT.width * (tmp.x + 1) / 2;
        pfy = VIEWPORT.height * (tmp.y + 1) / 2;

        batch.end();

        Gdx.gl20.glViewport((int) (p0x + VIEWPORT.x), (int) (p0y + VIEWPORT.y), (int) (pfx - p0x),
                (int) (pfy - p0y));

        Gdx.gl.glClear(GL20.GL_DEPTH_BUFFER_BIT
                | (Gdx.graphics.getBufferFormat().coverageSampling ? GL20.GL_COVERAGE_BUFFER_BIT_NV : 0));

        drawModel();

        Gdx.gl20.glViewport((int) VIEWPORT.x, (int) VIEWPORT.y, (int) VIEWPORT.width, (int) VIEWPORT.height);
        batch.begin();
    }
}

From source file:com.blastedstudios.ledge.ui.postprocessing.PostProcessor.java

License:Apache License

/** Construct a new PostProcessor with the given parameters and the specified texture wrap mode */
public PostProcessor(int fboWidth, int fboHeight, boolean useDepth, boolean useAlphaChannel, boolean use32Bits,
        TextureWrap u, TextureWrap v) {/*ww w.  ja  va  2  s .  c o  m*/
    if (use32Bits) {
        if (useAlphaChannel) {
            fbFormat = Format.RGBA8888;
        } else {
            fbFormat = Format.RGB888;
        }
    } else {
        if (useAlphaChannel) {
            fbFormat = Format.RGBA4444;
        } else {
            fbFormat = Format.RGB565;
        }
    }

    composite = newPingPongBuffer(fboWidth, fboHeight, fbFormat, useDepth);
    setBufferTextureWrap(u, v);

    pipelineState = new PipelineState();

    capturing = false;
    hasCaptured = false;
    enabled = true;
    this.useDepth = useDepth;
    if (useDepth) {
        clearBits |= GL20.GL_DEPTH_BUFFER_BIT;
    }

    setViewport(null);
}

From source file:com.cyphercove.doublehelix.MainRenderer.java

License:Apache License

@Override
public void draw(float deltaTime, float xOffsetFake, float xOffsetLooping, float xOffsetSmooth, float yOffset) {
    deltaTime = Math.min(deltaTime, MAX_FRAME_TIME);
    if (screenshotPause)
        deltaTime = 0;//w  w  w  . j  av a 2 s .  c  om

    float _xOffset = isPreview ? 0.5f
            : (Settings.pseudoScrolling ? xOffsetFake
                    : (Settings.smoothScrolling ? xOffsetSmooth : xOffsetLooping));

    GL20 gl = Gdx.gl;

    if (!firstFrameDrawn) {
        gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        gl.glClearColor(0, 0, 0, 1);
        gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
        firstFrameDrawn = true;
        return;
    }

    if (needFinishCreate) {
        finishCreate();
        //film grain wasn't created til now so need to initialize its size
        filmGrain.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        filmGrainForBloom.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    }

    if (settingsAdapter != null)
        settingsAdapter.updateInLoop(deltaTime);

    //UPDATES
    Texture.TextureFilter particleMinFilter = Settings.trilinearParticles
            ? Texture.TextureFilter.MipMapLinearLinear
            : Texture.TextureFilter.MipMapLinearNearest;
    particleATexture.setFilter(particleMinFilter, Texture.TextureFilter.Linear);
    particlePointTexture.setFilter(particleMinFilter, Texture.TextureFilter.Linear);

    mainHelixTransformManager.localEulers.z += deltaTime * MAIN_HELIX_ROTATION_DPS * Settings.speed;
    mainHelixTransformManager.apply();
    rearHelixTransformManager.localEulers.z += deltaTime * 0.5f * MAIN_HELIX_ROTATION_DPS * Settings.speed;
    rearHelixTransformManager.apply();

    cam.up.set(0, 1, 0);
    cam.direction.set(0, 0, -1);
    cam.rotate(-41.998f, 1, 0, 0);
    cam.rotate(146.964f, 0, 1, 0);
    cam.rotate(18.503f, 0, 0, 1);

    camPosition.set(0.45617f, 4.11359f, 0.14467f); //set it here and reapply when needed.
    if (cam.viewportWidth > cam.viewportHeight) {//landscape
        camPosition.rotate(Vector3.Z, -(_xOffset - 0.5f) * 47.5f - 15.0f);
    } else {//portrait
        camPosition.rotate(Vector3.Z, -(_xOffset - 0.5f) * 65f);
    }
    cam.position.set(camPosition); //temporarily apply it to get correct direction with lookAt
    cam.lookAt(-.4703f, 0f, 3.5032f);

    sssShader.lightDirection.set(1, 0, 0).rotate(Vector3.Y, lightH).rotate(Vector3.X, lightV);

    particles.update(deltaTime, sssShader.lightDirection); //MUST BE DONE WHILE CAM IS IN POSITION

    backgroundShader.color.set(Settings.backgroundColor);

    //BLOOM SURFACE DRAWING
    if (Settings.bloom) {
        bloom.begin();
        cam.position.set(0, 0, 0);
        cam.update();
        modelBatch.begin(cam);
        modelBatch.render(backgroundBloomModelInstance, unlitShader);
        modelBatch.end();

        cam.position.set(camPosition);
        cam.update();
        modelBatch.begin(cam);
        modelBatch.render(mainHelixModelInstance, blackShader);
        modelBatch.render(rearHelixModelInstance, blackShader);
        modelBatch.end();

        bloom.end();
    }

    //BLUR SURFACE DRAWING
    if (Settings.dof) {
        rearDOFBlur.setClearColor(tmpColor.set(Settings.backgroundColor).mul(AMBIENT_BRIGHTNESS));
        rearDOFBlur.begin();
        modelBatch.begin(cam);
        modelBatch.render(backgroundModelInstance, backgroundShader);
        modelBatch.end();

        cam.position.set(camPosition);
        cam.update();

        sssShader.setShouldFadeEnds(true);
        modelBatch.begin(cam);
        modelBatch.render(rearHelixModelInstance, sssShader);
        modelBatch.end();
        rearDOFBlur.end();
    }

    //MAIN DRAWING
    Gdx.gl.glClearColor(Settings.backgroundColor.r, Settings.backgroundColor.g, Settings.backgroundColor.b, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

    if (Settings.dof) {
        rearDOFBlur.render();
    } else {
        modelBatch.begin(cam);
        modelBatch.render(backgroundModelInstance, backgroundShader);
        modelBatch.end();
    }

    cam.position.set(camPosition);
    cam.update();

    sssShader.setShouldFadeEnds(false);
    modelBatch.begin(cam);
    modelBatch.render(mainHelixModelInstance, sssShader);
    modelBatch.end();

    if (!Settings.dof) {
        sssShader.setShouldFadeEnds(true);
        modelBatch.begin(cam);
        modelBatch.render(rearHelixModelInstance, sssShader);
        modelBatch.end();
    }

    boolean doFilmGrain = Settings.filmGrain || Settings.scanLines || Settings.vignette;

    if (Settings.bloom) {
        if (doFilmGrain) {
            bloom.setCustomShaderPreparer(filmGrainForBloom);
            bloom.render(filmGrainForBloom.filmGrainShaderProgram);
        } else {
            bloom.setCustomShaderPreparer(null);
            bloom.render(bloomShaderProgram);
        }
    } else if (doFilmGrain) {
        filmGrain.render();
    }

    particles.draw(decalBatch, billboardDecalBatch);

    fader.render(deltaTime);
}

From source file:com.gamemaker.gameworld.GameRenderer.java

License:Apache License

public void render(float runTime, float delta) {
    Gdx.app.log("GameRenderer", "render");
    Gdx.gl.glClearColor(0, 0, 0, 1);//ww  w .  j a v  a2s . co m
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

    if (myWorld.isGameOver()) {
        drawGameOver(delta);
    } else if (myWorld.isMap1()) {
        drawMap1(runTime);
    } else if (myWorld.isMap6()) {
        drawMap6(runTime);
    } else if (myWorld.isLevel1()) {
        drawLevel1(runTime);
    } else {
        drawLevelFin(runTime, delta);
    }
}

From source file:com.gamemaker.screens.AboutScreen.java

License:Apache License

public void draw(float deltaTime) {
    Gdx.gl.glClearColor(0, 0, 0, 1);/*from   w w w  .  ja  v  a 2 s  . c  om*/
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    batcher.begin();
    //batcher.disableBlending()
    batcher.draw(menuBG, 0, 0, 1280, 720);
    layout.setText(font3, "COPYRIGHT   2016 EndlessRunner Tjinari ");
    font3.draw(batcher, layout, 300, 120);
    layout.setText(font3, "All rights reserved ");
    font3.draw(batcher, layout, 300, 220);
    layout.setText(font3, "Programming team: Jixuan Cao; Qiancheng Wang; Shuaichen Song; Jaimou Sun ");
    font3.draw(batcher, layout, 150, 320);
    layout.setText(font3, "Artist: Conor Tow");
    font3.draw(batcher, layout, 300, 420);
    layout.setText(font3, "Bands:  ");
    font3.draw(batcher, layout, 300, 520);
    //batcher.draw(menuTitle1,295,100,650,150);
    //batcher.draw(menuStart,520,340,200,200);
    //batcher.draw(menuTitle2,500,400,230,75);//half size of original image

    drawButton();
    batcher.end();
}

From source file:com.gamemaker.screens.GameOverScreen.java

License:Apache License

public void draw(float deltaTime) {
    Gdx.gl.glClearColor(0, 0, 0, 1);//  w w w .ja  va  2s.  c  om
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    batcher.begin();
    //batcher.disableBlending();
    batcher.draw(menuBG, 0, 0, 1280, 720);
    batcher.draw(menuTitle1, 40, 180, 650, 150);
    batcher.draw(menuStart, 520, 340, 200, 200);
    batcher.draw(menuTitle2, 720, 180, 460, 150);
    batcher.end();
}

From source file:com.gamemaker.screens.HowtoplayScreen.java

License:Apache License

public void draw(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);//from w ww . j  ava  2 s.com
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    batcher.begin();
    //batcher.disableBlending();
    batcher.draw(mapBg, 0, 0, 1280, 720);
    // batcher.draw(introText, 0, 0, 1280, 720);

    drawButton(delta);

    batcher.end();
}

From source file:com.gamemaker.screens.IntroScreen.java

License:Apache License

public void draw(float deltaTime) {
    Gdx.gl.glClearColor(0, 0, 0, 1);/* w  ww .ja v a  2  s.c  om*/
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    batcher.begin();
    //batcher.disableBlending();
    batcher.draw(mapBg, 0, 0, 1280, 720);
    batcher.draw(introText, 0, 0, 1280, 720);
    batcher.end();
}

From source file:com.gamemaker.screens.MenuScreen.java

License:Apache License

public void draw(float deltaTime) {
    Gdx.gl.glClearColor(0, 0, 0, 1);/*from   w ww . ja  va 2s.co  m*/
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    batcher.begin();
    //batcher.disableBlending();
    batcher.draw(menuBG, 0, 0, 1280, 720);
    batcher.draw(menuTitle1, 295, 100, 650, 150);
    //batcher.draw(menuStart,520,340,200,200);
    //batcher.draw(menuTitle2,500,400,230,75);//half size of original image

    drawButton();

    batcher.end();
}