Example usage for com.badlogic.gdx Gdx gl

List of usage examples for com.badlogic.gdx Gdx gl

Introduction

In this page you can find the example usage for com.badlogic.gdx Gdx gl.

Prototype

GL20 gl

To view the source code for com.badlogic.gdx Gdx gl.

Click Source Link

Usage

From source file:com.badlogic.drop.MainMenuScreen.java

@Override
public void render(float Delta) {
    Gdx.gl.glClearColor(0, 0.2f, 0.2f, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    camera.update();/*from  w  w  w.ja v  a 2s  . c o  m*/
    game.batch.setProjectionMatrix(camera.combined);

    game.batch.begin();
    game.batch.draw(logo, 270, 85);
    game.font.draw(game.batch, "Welcome to the JPong! The Classic Remade!", 255, 235);
    game.font.draw(game.batch, "Click any where to Begin!", 310, 200);
    game.font.draw(game.batch, "This software is licensed under the terms of the CC-BY-NC-ND License", 170, 25);
    game.batch.end();

    if (Gdx.input.isTouched()) {
        game.setScreen(new Pong(game));
    }

}

From source file:com.badlogic.gdx.ai.tests.BehaviorTreeViewer.java

License:Apache License

@Override
public void render(float delta) {
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    if (treeStatus == RUNNING) {
        delay += delta;/*ww w  . ja  va2  s  .c o  m*/
        if (delay > runDelaySlider.getValue()) {
            delay = 0;
            step();
        }
    } else if (treeStatus == STEP) {
        step();
        treeStatus = SUSPENDED;
    }
    stage.act(delta);
    stage.draw();
}

From source file:com.badlogic.gdx.ai.tests.btree.BehaviorTreeViewer.java

License:Apache License

@Override
public void act(float delta) {
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    if (treeStatus == BT_RUNNING) {
        runDelayAccumulator += delta;//from  w  w w. j ava2s . c o m
        if (runDelayAccumulator > runDelaySlider.getValue()) {
            runDelayAccumulator = 0;
            step();
        }
    } else if (treeStatus == BT_STEP) {
        step();
        treeStatus = BT_SUSPENDED;
    }
    super.act(delta);
}

From source file:com.badlogic.gdx.backends.android.CardBoardGraphics.java

License:Apache License

/** This instantiates the GL10, GL11 and GL20 instances. Includes the check for certain devices that pretend to support GL11 but
 * fuck up vertex buffer objects. This includes the pixelflinger which segfaults when buffers are deleted as well as the
 * Motorola CLIQ and the Samsung Behold II.
 *
 * @param gl *//*www  .  ja  v  a 2s. c om*/
private void setupGL() {
    if (gl20 != null)
        return;

    gl20 = new AndroidGL20();

    Gdx.gl = gl20;
    Gdx.gl20 = gl20;

    Gdx.app.log(LOG_TAG, "OGL renderer: " + gl20.glGetString(GL10.GL_RENDERER));
    Gdx.app.log(LOG_TAG, "OGL vendor: " + gl20.glGetString(GL10.GL_VENDOR));
    Gdx.app.log(LOG_TAG, "OGL version: " + gl20.glGetString(GL10.GL_VERSION));
    Gdx.app.log(LOG_TAG, "OGL extensions: " + gl20.glGetString(GL10.GL_EXTENSIONS));
}

From source file:com.badlogic.gdx.backends.android.CardBoardGraphics.java

License:Apache License

@Override
public boolean supportsExtension(String extension) {
    if (extensions == null)
        extensions = Gdx.gl.glGetString(GL10.GL_EXTENSIONS);
    return extensions.contains(extension);
}

From source file:com.badlogic.gdx.graphics.g3d.test.KeyframedModelViewer.java

License:Apache License

@Override
public void render() {
    Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1.0f);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    Gdx.gl.glEnable(GL10.GL_DEPTH_TEST);

    cam.update();/*  ww  w. j  av a  2 s.c  o m*/
    cam.apply(Gdx.gl10);

    drawAxes();

    if (hasNormals) {
        Gdx.gl.glEnable(GL10.GL_LIGHTING);
        Gdx.gl.glEnable(GL10.GL_COLOR_MATERIAL);
        Gdx.gl.glEnable(GL10.GL_LIGHT0);
        Gdx.gl10.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, lightColor, 0);
        Gdx.gl10.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, lightPosition, 0);
    }

    if (texture != null) {
        Gdx.gl.glEnable(GL10.GL_TEXTURE_2D);
        texture.bind();
    }

    angle += 45 * Gdx.graphics.getDeltaTime();
    animTime += Gdx.graphics.getDeltaTime();
    if (animTime >= anim.totalDuration) {
        animTime = 0;
    }

    model.setAnimation(anim.name, animTime, false);
    for (int i = 0; i < 20; i++) {
        Gdx.gl10.glPushMatrix();
        Gdx.gl10.glTranslatef(0, 0, -100 + i * 10);
        model.render();
        Gdx.gl10.glPopMatrix();
    }

    if (texture != null) {
        Gdx.gl.glDisable(GL10.GL_TEXTURE_2D);
    }

    if (hasNormals) {
        Gdx.gl.glDisable(GL10.GL_LIGHTING);
    }

    batch.begin();
    font.setColor(Color.RED);
    font.draw(batch, "fps: " + Gdx.graphics.getFramesPerSecond(), 20, 30);
    batch.end();
}

From source file:com.badlogic.gdx.graphics.g3d.test.MD2Viewer.java

@Override
public void render() {
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    Gdx.gl.glEnable(GL10.GL_DEPTH_TEST);

    cam.update();//from  ww w.j a v  a2  s.com
    cam.apply(Gdx.gl10);

    angle += 45 * Gdx.graphics.getDeltaTime();
    Gdx.gl10.glRotatef(angle, 0, 1, 0);

    Gdx.gl.glEnable(GL10.GL_TEXTURE_2D);
    texture.bind();

    model.subMeshes[0].mesh.setVertices(model.subMeshes[0].animations.get("all").keyframes[0].vertices);
    model.subMeshes[0].mesh.render(GL10.GL_TRIANGLES);
}

From source file:com.badlogic.gdx.graphics.g3d.test.PrototypeRendererGL20.java

License:Apache License

private void renderBlended() {

    Gdx.gl.glEnable(GL10.GL_BLEND);
    final Array<Drawable> transparentDrawables = drawableManager.drawablesBlended;
    transparentDrawables.sort();//from  www  .j  a va 2s  . c o m

    // find N nearest lights per model
    // draw all models from opaque queue

    int lastSrcBlend = -1;
    int lastDstBlend = -1;

    for (int i = 0, size = transparentDrawables.size; i < size; i++) {

        final Drawable drawable = transparentDrawables.get(i);

        final Vector3 center = drawable.sortCenter;
        lightManager.calculateLights(center.x, center.y, center.z);

        final Matrix4 modelMatrix = drawable.transform;
        normalMatrix.set(modelMatrix);

        if (drawable.isAnimated)
            ((AnimatedModel) (drawable.model)).setAnimation(drawable.animation, drawable.animationTime,
                    drawable.isLooping);

        final SubMesh subMeshes[] = drawable.model.getSubMeshes();

        boolean matrixChanged = true;
        for (int j = 0; j < subMeshes.length; j++) {

            final SubMesh subMesh = subMeshes[j];
            final Material material = drawable.materials.get(j);

            // bind new shader if material can't use old one
            final boolean shaderChanged = bindShader(material);

            if (shaderChanged || matrixChanged) {
                currentShader.setUniformMatrix("u_normalMatrix", normalMatrix, false);
                currentShader.setUniformMatrix("u_modelMatrix", modelMatrix, false);
                matrixChanged = false;
            }

            for (int k = 0, len = material.getNumberOfAttributes(); k < len; k++) {
                final MaterialAttribute atrib = material.getAttribute(k);

                // yet another instanceof. TODO is there any better way to do this? maybe stuffing this to material
                if (atrib instanceof BlendingAttribute) {
                    final BlendingAttribute blending = (BlendingAttribute) atrib;
                    if (blending.blendSrcFunc != lastSrcBlend || blending.blendDstFunc != lastDstBlend) {
                        atrib.bind(currentShader);
                        lastSrcBlend = blending.blendSrcFunc;
                        lastDstBlend = blending.blendDstFunc;
                    }
                } else if (atrib instanceof TextureAttribute) {
                    // special case for textures. really important to batch these
                    final TextureAttribute texAtrib = (TextureAttribute) atrib;
                    if (!texAtrib.texturePortionEquals(lastTexture[texAtrib.unit])) {
                        lastTexture[texAtrib.unit] = texAtrib;
                        texAtrib.bind(currentShader);
                    } else {
                        // need to be done, shader textureAtribute name could be changed.
                        currentShader.setUniformi(texAtrib.name, texAtrib.unit);
                    }
                } else if (atrib instanceof GpuSkinningAttribute) {
                    final GpuSkinningAttribute gpuAtrib = (GpuSkinningAttribute) atrib;
                    gpuAtrib.setModelMatrix(modelMatrix);
                    gpuAtrib.bind(currentShader);
                } else {
                    atrib.bind(currentShader);
                }
            }
            // finally render current submesh
            subMesh.getMesh().render(currentShader, subMesh.primitiveType);
        }
    }
    Gdx.gl.glDisable(GL10.GL_BLEND);
}

From source file:com.badlogic.gdx.graphics.g3d.test.QbobViewer.java

License:Apache License

@Override
public void render() {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    cam.update();//w w w  . j  a va  2  s .  c  om
    cam.apply(Gdx.gl10);

    Gdx.gl.glEnable(GL10.GL_CULL_FACE);
    Gdx.gl.glEnable(GL10.GL_DEPTH_TEST);

    Gdx.gl.glActiveTexture(GL10.GL_TEXTURE0);
    Gdx.gl.glEnable(GL10.GL_TEXTURE_2D);
    diffuse.bind();
    diffuse.setFilter(TextureFilter.MipMap, TextureFilter.Linear);

    Gdx.gl.glActiveTexture(GL10.GL_TEXTURE1);
    Gdx.gl.glEnable(GL10.GL_TEXTURE_2D);

    lightMaps[0].bind();
    lightMaps[0].setFilter(TextureFilter.MipMapNearestNearest, TextureFilter.Linear);
    setCombiners();

    model[0].render();
    lightMaps[1].bind();
    lightMaps[1].setFilter(TextureFilter.MipMapNearestNearest, TextureFilter.Linear);
    setCombiners();

    model[1].render();
    lightMaps[2].bind();
    lightMaps[2].setFilter(TextureFilter.MipMapNearestNearest, TextureFilter.Linear);
    setCombiners();

    model[2].render();
    lightMaps[3].bind();
    lightMaps[3].setFilter(TextureFilter.MipMapNearestNearest, TextureFilter.Linear);
    setCombiners();
    model[3].render();

    Gdx.gl.glActiveTexture(GL10.GL_TEXTURE1);
    Gdx.gl.glDisable(GL10.GL_TEXTURE_2D);
    Gdx.gl.glActiveTexture(GL10.GL_TEXTURE0);
    Gdx.gl.glDisable(GL10.GL_CULL_FACE);
    Gdx.gl11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE);

    Gdx.gl.glDisable(GL10.GL_BLEND);

    animTime += Gdx.graphics.getDeltaTime();
    if (animTime > anim.totalDuration - anim.frameDuration)
        animTime = 0;
    animModel.setAnimation(anim.name, animTime, true);

    Gdx.gl10.glPushMatrix();
    Gdx.gl10.glTranslatef(cam.position.x, cam.position.y, 6);
    animModel.render();
    Gdx.gl10.glPopMatrix();

    Gdx.gl.glDisable(GL10.GL_DEPTH_TEST);
    batch.begin();
    font.draw(batch, "fps: " + Gdx.graphics.getFramesPerSecond(), 10, 20);
    batch.end();

    fps.log();
}

From source file:com.badlogic.gdx.graphics.g3d.test.SkeletonModelViewer.java

License:Apache License

@Override
public void render() {
    Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1.0f);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    Gdx.gl.glEnable(GL10.GL_DEPTH_TEST);

    cam.update();//from www.  j av  a 2  s  .c om
    cam.apply(Gdx.gl10);

    drawAxes();

    if (hasNormals) {
        Gdx.gl.glEnable(GL10.GL_LIGHTING);
        Gdx.gl.glEnable(GL10.GL_COLOR_MATERIAL);
        Gdx.gl.glEnable(GL10.GL_LIGHT0);
        Gdx.gl10.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, lightColor, 0);
        Gdx.gl10.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, lightPosition, 0);
    }

    if (texture != null) {
        Gdx.gl.glEnable(GL10.GL_TEXTURE_2D);
        Gdx.gl.glEnable(GL10.GL_BLEND);
        Gdx.gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
    }

    angle += 45 * Gdx.graphics.getDeltaTime();
    Gdx.gl10.glRotatef(angle, 0, 1, 0);
    animTime += Gdx.graphics.getDeltaTime() / 10;
    if (animTime > anim.totalDuration) {
        animTime = 0;
    }
    model.setAnimation(anim.name, animTime, false);
    model.render();

    if (texture != null) {
        Gdx.gl.glDisable(GL10.GL_TEXTURE_2D);
    }

    if (hasNormals) {
        Gdx.gl.glDisable(GL10.GL_LIGHTING);
    }

    batch.begin();
    font.draw(batch, "fps: " + Gdx.graphics.getFramesPerSecond(), 20, 30);
    batch.end();
}