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

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

Introduction

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

Prototype

int GL_LIGHTING

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

Click Source Link

Usage

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;/* w ww .  ja v a  2 s.  c o  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 renderSky(GL10 gl, Ship ship, Application app) {

    gl.glDisable(GL10.GL_LIGHTING);
    skyTexture.bind();//from  w w  w  . j  av a  2  s.c  o  m
    gl.glColor4f(1, 1, 1, 1);

    gl.glPushMatrix();
    gl.glTranslatef(Ship.position.x, Ship.position.y, Ship.position.z);
    gl.glScalef(155f, 155f, 155f);
    skyMesh.render(GL10.GL_TRIANGLES);
    gl.glPopMatrix();
    gl.glEnable(GL10.GL_LIGHTING);
}

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

License:Open Source License

private void renderSun(GL10 gl, float radius, float x, float y, float z, Application app) {

    gl.glDisable(GL10.GL_LIGHTING);
    radius = radius * worldscale;/*from  w  w  w. ja va  2 s. c  o  m*/
    planetTexture02.bind();
    gl.glPushMatrix();
    // move away from origin
    gl.glTranslatef(x, y, z);
    // scale to size of earth
    gl.glScalef(radius, radius, radius);
    planetMesh02.render(GL10.GL_TRIANGLES);
    gl.glPopMatrix();
    gl.glEnable(GL10.GL_LIGHTING);
}

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  ava2  s. c  o m
            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);//w w  w . ja  v a  2s .  c  o m
    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);/*from w  ww  .  j  a  v  a2 s. c  o  m*/
    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);//from   w  w  w . j a va 2s  .c  o m
    // 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  ww .  j a v  a2  s. c o  m*/
    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);// w w  w  .j  a va  2s  . c  o m
    gl.glEnable(GL10.GL_BLEND);
    // 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

private void setLighting(GL10 gl) {
    gl.glEnable(GL10.GL_LIGHTING);
    gl.glEnable(GL10.GL_LIGHT0);/*w  w w .  j ava2 s  .c  o m*/

    gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, new float[] { 0.25f, 0.25f, 0.29f, 1f }, 0);
    gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, new float[] { 0.99f, 0.99f, 0.79f, 1f }, 0);
    //bright yellow light
    gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_SPECULAR, new float[] { .9f, .9f, 1f, 1f }, 0);

    gl.glEnable(GL10.GL_COLOR_MATERIAL);

}