Example usage for com.badlogic.gdx.graphics GL10 GL_CULL_FACE

List of usage examples for com.badlogic.gdx.graphics GL10 GL_CULL_FACE

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics GL10 GL_CULL_FACE.

Prototype

int GL_CULL_FACE

To view the source code for com.badlogic.gdx.graphics GL10 GL_CULL_FACE.

Click Source Link

Usage

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderStaticShip(GL10 gl, Ship ship, Application app, String shipname) {
    if (ship.isExploding)
        return;/*from  ww w.  j  a v a 2 s  . c  om*/

    if (shipname.equals("stickleback")) {
        shipTexture01.bind();
    } else if (shipname.equals("salx")) {
        shipTexture02.bind();

    } else if (shipname.equals("cynomys")) {
        shipTexture03.bind();
    } else if (shipname.equals("squirrel")) {
        gl.glDisable(GL10.GL_CULL_FACE);
        squirrelTexture.bind();
    }
    gl.glPushMatrix();
    gl.glTranslatef(0, 0, 0);

    if (shipname.equals("stickleback")) {
        shipMesh01.render(GL10.GL_TRIANGLES);
    } else if (shipname.equals("salx")) {
        shipMesh02.render(GL10.GL_TRIANGLES);
    } else if (shipname.equals("cynomys")) {
        shipMesh03.render(GL10.GL_TRIANGLES);

    } else if (shipname.equals("squirrel")) {
        squirrelMesh.render(GL10.GL_TRIANGLES);
    }
    gl.glPopMatrix();
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderHangar(GL10 gl, Ship ship, Application app) {
    if (ship.isExploding)
        return;//from   w ww  . j  a v a2s . co  m
    // render hangar
    hangarTexture.bind();
    gl.glPushMatrix();
    hangarMesh.render(GL10.GL_TRIANGLES);

    // do forcefield
    gl.glDisable(GL10.GL_CULL_FACE);
    gl.glEnable(GL10.GL_BLEND);
    gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);

    gl.glDisable(GL10.GL_LIGHTING);

    forcefieldMesh.render(GL10.GL_TRIANGLES);
    gl.glPopMatrix();
    gl.glEnable(GL10.GL_LIGHTING);
    gl.glEnable(GL10.GL_CULL_FACE);
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderActors(GL10 gl) {

    for (int i = 0; i < Stardust3d.actorsList.size(); i++) {
        try {/*  w w  w .j  a v  a 2  s.  com*/
            Actor actor = Stardust3d.actorsList.get(i);

            if (actor != null && !(actor.shipname.equals("dead")) && actor.getHitpoints() > 0
                    && actor.getStatus() == 1) {
                // only do for ships in space

                if (actor.getStatus() == 1 && actor.position.dst(Ship.position) < 5000) {
                    if ((actor.visible)) {
                        gl.glPushMatrix();
                        gl.glTranslatef(actor.position.x, actor.position.y, actor.position.z);

                        gl.glScalef(1, 1, 1);
                        String actorName = (actor.get_firstname() + actor.get_surname());

                        if (actorName.equals("Hive AIShield Disruptor")) {

                            gl.glRotatef(actor.yawangle, 0, 1, 0);
                            gl.glRotatef(actor.pitchangle, 1, 0, 0);
                            gl.glRotatef(invaderAngle, 0, 0, 1);
                            shieldDisruptorTexture.bind();
                            shieldDisruptorMesh.render(GL10.GL_TRIANGLES);

                            gl.glEnable(GL10.GL_BLEND);
                            gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
                            gl.glScalef(.5f, .5f, .5f);
                            gl.glDisable(GL10.GL_CULL_FACE);
                            gl.glDisable(GL10.GL_LIGHTING);
                            gl.glColor4f(.0f, 1f, 0f, 1);

                            swirlyTexture.bind();
                            // gl.glRotatef(-(invaderAngle * 20), 0, 0, 1);
                            coneMesh.render(GL10.GL_TRIANGLES);
                            gl.glColor4f(1f, 1f, 1f, 1f);
                            gl.glDisable(GL10.GL_BLEND);
                            gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
                            gl.glEnable(GL10.GL_LIGHTING);
                            gl.glEnable(GL10.GL_CULL_FACE);
                        } else if (actorName.equals("Hive AIScout")) {

                            gl.glRotatef(actor.yawangle, 0, 1, 0);
                            gl.glRotatef(actor.pitchangle, 1, 0, 0);
                            jetTexture.bind();
                            gl.glScalef(1f, 1f, 1f);
                            shieldDisruptorMesh.render(GL10.GL_TRIANGLES);
                            gl.glScalef(20f, 20f, 20f);
                            gl.glDisable(GL10.GL_CULL_FACE);
                            gl.glEnable(GL10.GL_BLEND);
                            gl.glDisable(GL10.GL_LIGHTING);
                            gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
                            gl.glColor4f(.0f, .5f, 1f, 1);
                            gl.glRotatef(-actor.yawangle, 0, 1, 0);
                            gl.glRotatef(-actor.pitchangle, 1, 0, 0);
                            swansongTexture.bind();

                            looking = Util.lookAt(Simulation.camera, actor.position);
                            gl.glRotatef(looking.y, 0, 1, 0);
                            gl.glRotatef(-looking.x, 1, 0, 0);

                            sunMesh.render(GL10.GL_TRIANGLES);
                            gl.glColor4f(1f, 1f, 1f, 1f);
                            gl.glDisable(GL10.GL_BLEND);
                            // gl.glBlendFunc(GL10.GL_SRC_ALPHA,
                            // GL10.GL_ONE);
                            gl.glEnable(GL10.GL_LIGHTING);
                            gl.glEnable(GL10.GL_CULL_FACE);

                        } else {
                            renderActorShip(gl, actor, actor.shipname);
                        }
                        gl.glPopMatrix();
                    }
                }
            }
        } catch (IndexOutOfBoundsException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderShots(GL10 gl, ArrayList<Shot> shots) {
    gl.glColor4f(1, 1, 0, 1);/*from  w ww.j  ava2  s  . c om*/
    gl.glEnable(GL10.GL_BLEND);
    gl.glDisable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_LIGHTING);
    gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);
    jetTexture.bind();
    for (int i = 0; i < shots.size(); i++) {
        Shot shot = shots.get(i);
        gl.glPushMatrix();

        gl.glTranslatef(shot.position.x, shot.position.y, shot.position.z);
        gl.glRotatef(shot.yawAngle, 0, 1, 0);
        gl.glRotatef(shot.pitchAngle, 1, 0, 0);
        gl.glScalef(3 + (float) (shot.shotLife) * 1f, (float) (3 + shot.shotLife) * 1f,
                (float) (3 + shot.shotLife) * 1f);
        jetMesh.render(GL10.GL_TRIANGLES);
        gl.glPopMatrix();
    }
    gl.glColor4f(1, 1, 1, 1);
    gl.glEnable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_BLEND);
    gl.glEnable(GL10.GL_LIGHTING);
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderMissiles(GL10 gl, ArrayList<Missile> missiles) {
    gl.glColor4f(1, 0, 0, 1);/*  w  ww.  j  a  v  a 2s.c  om*/
    gl.glEnable(GL10.GL_BLEND);
    gl.glDisable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_LIGHTING);
    gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);
    jetTexture.bind();
    for (int i = 0; i < missiles.size(); i++) {
        Missile missile = missiles.get(i);
        gl.glPushMatrix();

        gl.glTranslatef(missile.position.x, missile.position.y, missile.position.z);
        gl.glRotatef(missile.yawAngle, 0, 1, 0);
        gl.glRotatef(missile.pitchAngle, 1, 0, 0);
        gl.glScalef(10f, 10f, 10f);
        jetMesh.render(GL10.GL_TRIANGLES);
        gl.glPopMatrix();
    }
    gl.glColor4f(1, 1, 1, 1);
    gl.glEnable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_BLEND);
    gl.glEnable(GL10.GL_LIGHTING);
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderDusts(GL10 gl, ArrayList<Dust> dusts) {

    gl.glEnable(GL10.GL_BLEND);//  w  w  w .  j  a v a2 s .c  om
    // gl.glDisable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_LIGHTING);
    gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);

    dustTexture.bind();
    for (int i = 0; i < dusts.size(); i++) {
        Dust dust = dusts.get(i);
        if (camera.frustum.pointInFrustum(dust.position)) {
            gl.glPushMatrix();
            gl.glColor4f(dust.colour, dust.colour, dust.colour, 1);
            gl.glTranslatef(dust.position.x, dust.position.y, dust.position.z);
            gl.glRotatef(dust.yawAngle + 180, 0, 1, 0);
            gl.glRotatef(dust.pitchAngle, 1, 0, 0);
            gl.glScalef(dust.size, dust.size, dust.size);
            sunMesh.render(GL10.GL_TRIANGLES);
            gl.glPopMatrix();
        }
    }
    gl.glColor4f(1, 1, 1, 1);
    gl.glEnable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_BLEND);
    gl.glEnable(GL10.GL_LIGHTING);
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

@SuppressWarnings("unused")
private void renderTrails(GL10 gl, ArrayList<Trail> trails) {
    gl.glColor4f(0, 1, 1, 1);/*from w  w w  .j  a  va2  s.com*/
    jetTexture.bind();
    gl.glEnable(GL10.GL_BLEND);
    gl.glDisable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_LIGHTING);
    gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);
    jetTexture.bind();
    for (int i = 0; i < trails.size(); i++) {
        Trail trail = trails.get(i);
        gl.glPushMatrix();
        gl.glRotatef(trail.yawAngle, 0, 1, 0);
        gl.glRotatef(trail.pitchAngle, 1, 0, 0);
        gl.glTranslatef(trail.position.x, trail.position.y, trail.position.z);

        float scale = (Trail.TRAIL_LIFE - trail.life) / 4;
        gl.glScalef(scale, scale, scale * 2.5f);
        jetMesh.render(GL10.GL_TRIANGLES);
        gl.glPopMatrix();
    }
    gl.glColor4f(1, 1, 1, 1);
    gl.glEnable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_BLEND);
    gl.glEnable(GL10.GL_LIGHTING);
}

From source file:com.digitale.mygdxgame.Renderer.java

License:Open Source License

private void renderExplosions(GL10 gl, ArrayList<Explosion> explosions) {
    gl.glDisable(GL10.GL_CULL_FACE);
    gl.glEnable(GL10.GL_BLEND);//from   w w w .  j a  v a  2s. co  m
    // gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
    gl.glDisable(GL10.GL_LIGHTING);
    for (int i = 0; i < explosions.size(); i++) {
        Explosion explosion = explosions.get(i);
        gl.glPushMatrix();
        if (explosion.type == Explosion.NORMAL) {
            gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z);
            explosionTexture.bind();
            gl.glScalef(10, 10, 10);
            gl.glRotatef(explosion.yawAngle, 0, 1, 0);
            gl.glRotatef(explosion.pitchAngle, 1, 0, 0);
            explosionMesh.render(GL10.GL_TRIANGLE_FAN,
                    (int) ((explosion.aliveTime / explosion.explosionLiveTime) * 15) * 4, 4);

        } else if (explosion.type == Explosion.SWANSONG) {
            gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z);
            swansongTexture.bind();
            gl.glColor4f(1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2),
                    1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2));
            gl.glRotatef(explosion.yawAngle, 0, 1, 0);
            gl.glRotatef(explosion.pitchAngle, 1, 0, 0);
            gl.glScalef(explosion.scale * 10, explosion.scale * 10, explosion.scale * 10);
            sunMesh.render(GL10.GL_TRIANGLES);
            gl.glScalef(1, 1, 1);
            gl.glColor4f(1f, 1f, 1f, 1f);
        } else if (explosion.type == Explosion.RANKUP) {
            gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z);
            lvlupTexture.bind();
            gl.glColor4f(1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2),
                    1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2));
            gl.glRotatef(explosion.yawAngle, 0, 1, 0);
            gl.glRotatef(explosion.pitchAngle, 1, 0, 0);
            gl.glRotatef(explosion.aliveTime * 360f, 0, 0, 1);
            gl.glScalef(explosion.scale, explosion.scale, explosion.scale);
            sunMesh.render(GL10.GL_TRIANGLES);
            gl.glScalef(1, 1, 1);
            gl.glColor4f(1f, 1f, 1f, 1f);

        } else if (explosion.type == Explosion.LEVELUP) {
            gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z);
            lvlupTexture.bind();
            gl.glColor4f(1 - (explosion.aliveTime / 4), .5f, //1 - (explosion.aliveTime / 2),
                    .5f - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2));
            gl.glRotatef(explosion.yawAngle, 0, 1, 0);
            gl.glRotatef(explosion.pitchAngle, 1, 0, 0);
            gl.glRotatef(explosion.aliveTime * 360f, 0, 0, 1);
            gl.glScalef(explosion.scale, explosion.scale, explosion.scale);
            sunMesh.render(GL10.GL_TRIANGLES);
            gl.glScalef(1, 1, 1);
            gl.glColor4f(1f, 1f, 1f, 1f);
        }
        gl.glPopMatrix();
    }
    gl.glDisable(GL10.GL_BLEND);
    gl.glEnable(GL10.GL_CULL_FACE);
    gl.glEnable(GL10.GL_LIGHTING);
}

From source file:com.digitale.mygdxgame.SplashRenderer.java

License:Open Source License

/**
 * @param simulation//from   w  w w  .j a  v  a  2s . c om
 * @param gl
 */
private void renderHud(GL10 gl) {
    gl.glDisable(GL10.GL_CULL_FACE);
    gl.glDisable(GL10.GL_DEPTH_TEST);
    int width = Gdx.app.getGraphics().getWidth();
    int height = Gdx.app.getGraphics().getHeight();
    //spriteBatch.setProjectionMatrix(viewMatrix);
    //spriteBatch.setTransformMatrix(transformMatrix);

    spriteBatch.begin();
    spriteBatch.enableBlending();
    spriteBatch.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);

    /*A minimum of dataset
    B maximum of dataset
    a is from where you would like normalised data set to start
    b is where you would like normalised data set to end
    x is the value you are trying to normalise
    a + (x-A)*(b-a)/(B-A) 
            
    */

    float length = 0 + (progress - 0) * ((Gdx.graphics.getWidth() / 10) * 8 - 0) / (1 - 0);
    spriteBatch.setColor(0, 0, 1, 1);
    spriteBatch.draw(progressBarTexture, Gdx.graphics.getWidth() / 10, 110, (Gdx.graphics.getWidth() / 10) * 8,
            30);
    spriteBatch.setColor(0, 1, 1, 1);
    spriteBatch.draw(progressBarTexture, (Gdx.graphics.getWidth() / 10) + 2, 112, length, 26);
    spriteBatch.setColor(1, 1, 1, 1);
    font.draw(spriteBatch, "Version:" + Stardust3d.version, 10, 10);
    font.draw(spriteBatch, "Loading " + String.format("%.0f", progress * 100) + "%", 100, 100);
    if (Splash.fadeIn) {
        spriteBatch.setColor(0, 0, 0, Splash.fadeTimer);
        spriteBatch.draw(xfadeTexture, 0, 0, width, height);
    }
    if (Splash.fadeOut) {
        spriteBatch.setColor(1, 1, 1, Splash.fadeTimer);
        spriteBatch.draw(xfadeTexture, 0, 0, width, height);
    }
    spriteBatch.setColor(1, 1, 1, 1);
    if (Stardust3d.Error == Stardust3d.NETWORK_DOWN && netErrorShown == false) {
        stage.addActor(Actors
                .bottomToast("Connection to internet failed, Please check your network is working.", 5, skin));

        netErrorShown = true;
    }

    spriteBatch.end();
}

From source file:com.digitale.mygdxgame.SplashRenderer.java

License:Open Source License

private void renderInsideStation(Application app) {
    GL10 gl = app.getGraphics().getGL10();
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    gl.glViewport(0, 0, app.getGraphics().getWidth(), app.getGraphics().getHeight());
    gl.glEnable(GL10.GL_BLEND);//from   w w  w  .  j av a 2 s.  c  o  m
    gl.glDisable(GL10.GL_DITHER);
    gl.glEnable(GL10.GL_DEPTH_TEST);
    gl.glEnable(GL10.GL_CULL_FACE);
    setStaticProjectionAndCamera(app.getGraphics(), app, gl);
    setLighting(gl);
    gl.glEnable(GL10.GL_TEXTURE_2D);
    renderSky(gl);
    renderPlanet(gl, "sun", true, 1737f, Splash.planetmove - 150, 0, -2500, app);
    renderSky(gl);
    gl.glDisable(GL10.GL_DITHER);
    gl.glDisable(GL10.GL_CULL_FACE);
    //do alpha models after this
    renderStaticShip(gl, app);
    renderSun(gl, 70000f, -1600, 0, -4500, app);
    gl.glDisable(GL10.GL_TEXTURE_2D);
    renderHud(gl);
}