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

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

Introduction

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

Prototype

int GL_TRIANGLES

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

Click Source Link

Usage

From source file:com.github.fauu.helix.editor.displayable.TilePermissionsGridDisplayable.java

License:Open Source License

public TilePermissionsGridDisplayable(Tile[][] tiles, TextureAtlas atlas) {
    this.atlas = atlas;

    MeshBuilder meshBuilder = new MeshBuilder();

    meshBuilder.begin(VertexAttributes.Usage.Position | VertexAttributes.Usage.TextureCoordinates,
            GL20.GL_TRIANGLES);

    for (int y = 0; y < tiles.length; y++) {
        for (int x = 0; x < tiles[y].length; x++) {
            // TODO: Cache regions
            meshBuilder.setUVRange(atlas.findRegion(tiles[y][x].getPermissions().name()));

            meshBuilder.rect(x, y, 0, x + 1, y, 0, x + 1, y + 1, 0, x, y + 1, 0, 0, 0, 1);
        }//from  w w  w.j  a v  a  2 s.  co m
    }

    Mesh mesh = meshBuilder.end();

    ModelBuilder modelBuilder = new ModelBuilder();
    modelBuilder.begin();

    TextureAttribute diffuse = TextureAttribute.createDiffuse(atlas.getTextures().first());

    modelBuilder.part("grid", mesh, GL20.GL_TRIANGLES, new Material(diffuse));

    instance = new ModelInstance(modelBuilder.end());

    instance.transform.translate(0, 0, Z_OFFSET);
}

From source file:com.github.fauu.helix.game.Game.java

License:Open Source License

@Override
public void create() {
    camera = new Camera(new Vector3(32, 32, 0));

    cameraInputController = new CameraInputController(camera);
    //    Gdx.input.setInputProcessor(cameraInputController);

    assets = new AssetManager();
    assets.setLoader(GeometrySet.class, new GeometrySetLoader(new InternalFileHandleResolver()));
    assets.setLoader(MapRegion.class, new MapRegionLoader(new InternalFileHandleResolver()));
    assets.load("assets/mapregions/0.hmr", MapRegion.class);
    assets.finishLoading();//from ww w  .  j a  v  a 2 s.c  o m

    mapRegion = assets.get("assets/mapregions/0.hmr", MapRegion.class);

    spriteBatch = new SpriteBatch();

    renderer = new Renderer();

    player = new Player(new Vector2(8, 17), new Texture(Gdx.files.internal("assets/sprites/player.png")));
    camera.move(player.getRealPosition());

    final ModelBuilder modelBuilder = new ModelBuilder();

    waterTexture = new Texture("assets/textures/water.png");

    final MeshPartBuilder.VertexInfo corner00 = new MeshPartBuilder.VertexInfo();
    corner00.hasPosition = true;
    corner00.hasNormal = true;
    corner00.hasUV = true;
    corner00.setPos(0, 0, 0);
    corner00.setNor(0, 1, 0);
    corner00.setUV(0, 0);

    final MeshPartBuilder.VertexInfo corner10 = new MeshPartBuilder.VertexInfo();
    corner10.hasPosition = true;
    corner10.hasNormal = true;
    corner10.hasUV = true;
    corner10.setPos(4, 0, 0);
    corner10.setNor(0, 1, 0);
    corner10.setUV(0, 1);

    final MeshPartBuilder.VertexInfo corner11 = new MeshPartBuilder.VertexInfo();
    corner11.hasPosition = true;
    corner11.hasNormal = true;
    corner11.hasUV = true;
    corner11.setPos(4, 0, 14);
    corner11.setNor(0, 1, 0);
    corner11.setUV(1, 1);

    final MeshPartBuilder.VertexInfo corner01 = new MeshPartBuilder.VertexInfo();
    corner01.hasPosition = true;
    corner01.hasNormal = true;
    corner01.hasUV = true;
    corner01.setPos(0, 0, 14);
    corner01.setNor(0, 1, 0);
    corner01.setUV(1, 0);

    modelBuilder.begin();
    modelBuilder.node();
    MeshPartBuilder meshPartBuilder = modelBuilder.part("water1", GL20.GL_TRIANGLES,
            VertexAttributes.Usage.Position | VertexAttributes.Usage.TextureCoordinates,
            new Material(TextureAttribute.createDiffuse(waterTexture),
                    ColorAttribute.createDiffuse(Color.WHITE),
                    new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)));
    meshPartBuilder.rect(corner00, corner10, corner11, corner01);

    waterModel = modelBuilder.end();

    waterModelInstance = new ModelInstance(waterModel);
    WaterData waterData = new WaterData();
    waterData.waveAmplitude = 0.02f;
    waterData.waveAngle = 0;
    waterData.waveFrequency = 0.5f;
    waterModelInstance.userData = waterData;
    //    waterModelInstance.userData = new float[2];
    //    ((float[]) waterModelInstance.userData)[0] = 0; // waveAngle
    //    ((float[]) waterModelInstance.userData)[1] = 0.1f; // waveAmplitude

    waterModelInstance.transform.translate(8, -0.1f, 19).rotate(0, 1, 0, -90).scale(1, 1, -1);
    //    ((float[]) waterModelInstance.userData)[2] = 8; // startX
    //    ((float[]) waterModelInstance.userData)[3] = 7; // sizeX
    //    ((float[]) waterModelInstance.userData)[4] = 19; // startZ
    //    ((float[]) waterModelInstance.userData)[5] = 5; // sizeZ
}

From source file:com.jlabarca.kflame.MeshShader.java

License:Apache License

@Override
public void render() {
    angle += Gdx.graphics.getDeltaTime() * 45;
    matrix.setToRotation(axis, angle);/*w ww.  ja 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.lyeeedar.Graphics.ParticleEffects.ParticleEmitter.java

License:Open Source License

public void render() {
    if (currentBlendSRC == blendFuncSRC && currentBlendDST == blendFuncDST) {
    } else {//www. ja  va2 s  . com
        Gdx.gl.glBlendFunc(blendFuncSRC, blendFuncDST);
        currentBlendSRC = blendFuncSRC;
        currentBlendDST = blendFuncDST;
    }

    if (currentAtlas != null && atlasName.equals(currentAtlas)) {

    } else {
        atlasTexture.bind(0);
        shader.setUniformi("u_texture", 0);

        currentAtlas = atlasName;
    }

    mesh.render(shader, GL20.GL_TRIANGLES, 0, active.size * 4);
}

From source file:com.lyeeedar.Roguelike3D.Game.Level.LevelGraphics.java

License:Open Source License

public boolean createTileRow() {
    if (tileX == width)
        return true;

    for (int z = 0; z < height; z++) {
        Tile t = levelArray[tileX][z];/*from  w  ww.  j ava  2  s .c  o  m*/
        if (t.character == ' ')
            continue;

        TempVO vo = new TempVO(Shapes.genTempCuboid(GameData.BLOCK_SIZE, t.height, GameData.BLOCK_SIZE),
                GL20.GL_TRIANGLES, colours.get(t.character), getTexture(t.character, biome), tileX * 10,
                t.height / 2, z * 10);
        tempVOs[tileX][z] = vo;

        if (drawRoofs && t.height < t.roof) {
            TempVO voRf = new TempVO(Shapes.genTempCuboid(GameData.BLOCK_SIZE, 1, GameData.BLOCK_SIZE),
                    GL20.GL_TRIANGLES, colours.get('#'), getTexture('#', biome), tileX * 10, t.roof, z * 10);
            tempRoofs[tileX][z] = voRf;
        }
    }

    tileX++;

    return false;
}

From source file:com.lyeeedar.Roguelike3D.Game.Level.XML.MonsterEvolver.java

License:Open Source License

public GameActor getMonster(int difficulty, Level level) {
    Creature_Evolver ce = EVOLVED_CREATURES[difficulty];

    float scale = ce.creature.model_scale;
    Color colour = ce.creature.colour;
    String texture = ce.creature.texture;

    GameActor ga = new Enemy(colour, texture, 0, 0, 0, scale, GL20.GL_TRIANGLES, "file",
            ce.creature.model_name);//from   w  w  w .  j  av  a 2s .com
    for (Component c : ce.creature.skinDrops) {
        ga.INVENTORY.put(c.drop_chance, c);
    }
    for (Component c : ce.creature.boneDrops) {
        ga.INVENTORY.put(c.drop_chance, c);
    }
    if (ce.attack_right != null) {
        ga.R_HAND = Equipment_HAND.getWeapon(ce.attack_right.wep_type, ce.attack_right.wep_visual,
                ce.attack_right.wep_style, ce.attack_right.strength, ce.attack_right.ele_amount,
                ce.attack_right.dam_amount, ce.attack_right.atk_speed, ce.attack_right.weight, false, 2, 1,
                level);
        for (Component c : ce.creature.attRDrops) {
            ga.INVENTORY.put(c.drop_chance, c);
        }
    }
    if (ce.attack_left != null) {
        ga.L_HAND = Equipment_HAND.getWeapon(ce.attack_left.wep_type, ce.attack_left.wep_visual,
                ce.attack_left.wep_style, ce.attack_left.strength, ce.attack_left.ele_amount,
                ce.attack_left.dam_amount, ce.attack_left.atk_speed, ce.attack_left.weight, false, 2, 1, level);
        for (Component c : ce.creature.attLDrops) {
            ga.INVENTORY.put(c.drop_chance, c);
        }
    }

    ga.setStats(ce.health, ce.weight, ce.strength, ce.ele_defenses, ce.dam_defenses, ce.creature.factions);

    ga.ai = ce.mind.ai.getAI(ga);

    return ga;
}

From source file:com.lyeeedar.Roguelike3D.Game.LevelObjects.LevelObject.java

License:Open Source License

public LevelObject(boolean visible, float x, float y, float z, AbstractObject ao) {
    this(ao, new Color(1.0f, 1.0f, 1.0f, 1.0f), "blank", x, y, z, ao.modelScale, GL20.GL_TRIANGLES, "cube", "1",
            "1", "1");
    this.visible = visible;
}

From source file:com.lyeeedar.Roguelike3D.Game.LevelObjects.LevelObject.java

License:Open Source License

public static LevelObject checkObject(AbstractObject ao, float x, float y, float z, Level level,
        MonsterEvolver evolver) {//from  w w  w . j av a  2 s  .  c  o m
    LevelObject lo = null;

    if (ao.type == ObjectType.STATIC) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Static(ao, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Static(ao, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Static(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao);

        }
    } else if (ao.type == ObjectType.DOOR_UNLOCKED) {
        lo = new Door(ao, new Color(1, 1, 1, 1), "tex+", (ao.x) * GameData.BLOCK_SIZE, 0,
                (ao.z) * GameData.BLOCK_SIZE, 1.0f, GL20.GL_TRIANGLES, "cube", "1", "1", "1");
    } else if (ao.type == ObjectType.FIRE_CAMP) {

        lo = new Static(false, x, y, z, ao);
        lo.shortDesc = ao.shortDesc;
        lo.longDesc = ao.longDesc;

        ParticleEffect effect = new ParticleEffect(15);
        ParticleEmitter flame = new ParticleEmitter(2, 2, 0.01f, 1.0f, 0.0f, 1.0f, 0, GL20.GL_SRC_ALPHA,
                GL20.GL_ONE, "f", "name");
        flame.createBasicEmitter(2, 1, new Color(0.8f, 0.9f, 0.1f, 1.0f), new Color(1.0f, 0.0f, 0.0f, 1.0f), 0,
                3.5f, 0);
        flame.setSpriteTimeline(true, new float[] { 0, 0 }, new float[] { 2, 2 });
        flame.addLight(true, 0.07f, 0.5f, Color.ORANGE, true, 0, 2, 0);
        flame.calculateParticles();
        effect.addEmitter(flame, 2, 0f, 2);
        effect.create();

        lo.addParticleEffect(effect);
    } else if (ao.type == ObjectType.FIRE_TORCH) {
        //
        //         lo = new Static(false, x, y, z, ao);
        //         lo.shortDesc = ao.shortDesc;
        //         lo.longDesc = ao.longDesc;
        //         
        //         ParticleEmitter p = new ParticleEmitter(x-0.3f, y+1.5f, z-0.3f, 1, 1, 1, 0.05f, 1);
        //         p.setTexture("texf", new Vector3(0.0f, 2.0f, 0.0f), new Colour(0.7f, 0.9f, 0.3f, 1.0f), new Colour(1.0f, 0.0f, 0.0f, 1.0f), true, 0.5f, 1.5f, false, true);
        //         
        //         level.getParticleEmitters().add(p);
        //         lo.addParticleEmitter(p);
    } else if (ao.type == ObjectType.STAIR_UP) {
        String texture = ao.texture;
        Color colour = ao.colour;
        if (ao.modelType.equalsIgnoreCase("model")) {
            lo = new Stair(ao, GameData.getCurrentLevelContainer().getUpLevel(), colour, texture,
                    (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao.modelScale,
                    GL20.GL_TRIANGLES, "file", ao.modelName);
        } else if (ao.modelType.equalsIgnoreCase("cube")) {
            lo = new Stair(ao, GameData.getCurrentLevelContainer().getUpLevel(), colour, texture,
                    (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao.modelScale,
                    GL20.GL_TRIANGLES, "cube", "" + ao.modelDimensions[0], "" + ao.modelDimensions[1],
                    "" + ao.modelDimensions[2]);
        }
    } else if (ao.type == ObjectType.STAIR_DOWN) {
        String texture = ao.texture;
        Color colour = ao.colour;
        if (ao.modelType.equalsIgnoreCase("model")) {
            lo = new Stair(ao, GameData.getCurrentLevelContainer().getDownLevel(), colour, texture,
                    (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao.modelScale,
                    GL20.GL_TRIANGLES, "file", ao.modelName);
        } else if (ao.modelType.equalsIgnoreCase("cube")) {
            lo = new Stair(ao, GameData.getCurrentLevelContainer().getDownLevel(), colour, texture,
                    (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao.modelScale,
                    GL20.GL_TRIANGLES, "cube", "" + ao.modelDimensions[0], "" + ao.modelDimensions[1],
                    "" + ao.modelDimensions[2]);
        }
    } else if (ao.type == ObjectType.PLAYER_PLACER) {
        lo = new PlayerPlacer(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao);
    } else if (ao.type == ObjectType.SPAWNER_0) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 0, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 0, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 0,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_1) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 1, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 1, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 1,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_2) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 2, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 2, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 2,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_3) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 3, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 3, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 3,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_4) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 4, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 4, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 4,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_5) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 5, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 5, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 5,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_6) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 6, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 6, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 6,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_7) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 7, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 7, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 7,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_8) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 8, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 8, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 8,
                    evolver);
        }
    } else if (ao.type == ObjectType.SPAWNER_9) {
        if (ao.visible) {
            String texture = ao.texture;
            Color colour = ao.colour;
            if (ao.modelType.equalsIgnoreCase("file")) {
                lo = new Spawner(ao, 9, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "file", ao.modelName);
            } else if (ao.modelType.equalsIgnoreCase("cube")) {
                lo = new Spawner(ao, 9, evolver, colour, texture, (ao.x) * GameData.BLOCK_SIZE, 0,
                        (ao.z) * GameData.BLOCK_SIZE, ao.modelScale, GL20.GL_TRIANGLES, "cube",
                        "" + ao.modelDimensions[0], "" + ao.modelDimensions[1], "" + ao.modelDimensions[2]);
            }
        } else {
            lo = new Spawner(false, (ao.x) * GameData.BLOCK_SIZE, 0, (ao.z) * GameData.BLOCK_SIZE, ao, 9,
                    evolver);
        }
    }

    return lo;
}

From source file:com.lyeeedar.Roguelike3D.Graphics.Screens.LevelLoadingScreen.java

License:Open Source License

public void loadingTask() {
    if (loadingStage == 0) {
        time = System.nanoTime();
        message = "Disposing previous level";

        if (GameData.level != null)
            GameData.level.dispose();// w w w  .j  av  a2s.c  o m

        if (GameData.levelGraphics != null)
            GameData.levelGraphics.dispose();

        loadingStage++;
    } else if (loadingStage == 1) {
        message = "Loading Level";

        level = GameData.getCurrentLevelContainer().getLevel(biome, rReader);
        GameData.level = level;

        percent += taskSteps;

        if (level != null)
            loadingStage++;
    } else if (loadingStage == 2) {
        level.create();

        level.fixReferences();

        Player player = level.getPlayer();

        if (player == null) {
            player = new Player(new Color(0, 0.6f, 0, 1.0f), "blank", 0, 0, 0, 0.5f, GL20.GL_TRIANGLES, "file",
                    "model@");

            HashMap<Damage_Type, Integer> DAM_DEF = new HashMap<Damage_Type, Integer>();
            DAM_DEF.put(Damage_Type.PIERCE, 50);
            DAM_DEF.put(Damage_Type.IMPACT, 50);
            DAM_DEF.put(Damage_Type.TOUCH, 0);

            HashMap<Element, Integer> ELE_DEF = new HashMap<Element, Integer>();
            ELE_DEF.put(Element.FIRE, 0);
            ELE_DEF.put(Element.AIR, 0);
            ELE_DEF.put(Element.WATER, 0);
            ELE_DEF.put(Element.WOOD, 0);
            ELE_DEF.put(Element.METAL, 0);
            ELE_DEF.put(Element.AETHER, 100);
            ELE_DEF.put(Element.VOID, 0);

            player.R_HAND = Equipment_HAND.getWeapon(WeaponType.MELEE, "sword", "SWING", 15, ELE_DEF, DAM_DEF,
                    20, 85, false, 3, 1, level);
            player.L_HAND = Equipment_HAND.getWeapon(WeaponType.RANGED, "torch", "FIREBALL", 15, ELE_DEF,
                    DAM_DEF, 71, 13, false, 3, 1, level);

            player.create();
            player.visible = false;

            level.addGameActor(player);
        }

        GameStats.setPlayerStats(player);

        GameData.player = player;

        level.positionPlayer(player, GameData.prevLevel, GameData.currentLevel);

        percent += taskSteps;
        loadingStage++;

    } else if (loadingStage == 3) {
        message = "Creating Fundamental Structure";
        graphics = new LevelGraphics(level.levelArray, level.colours, biome, level.hasRoof);

        if (GameData.getCurrentLevelContainer().skybox != null) {
            GameData.skyBox = new SkyBox(GameData.getCurrentLevelContainer().skybox);
        } else
            GameData.skyBox = null;

        loadingStage++;
        percent += taskSteps * 5;
    } else if (loadingStage == 4) {
        message = "Forcing Matter Into Existence";
        boolean done = graphics.createTileRow();
        percent += taskSteps;

        if (done)
            loadingStage++;
    } else if (loadingStage == 5) {
        message = "Coalescing Matter";
        boolean done = graphics.createChunkRow();
        percent += taskSteps;

        if (done)
            loadingStage++;
    } else if (loadingStage == 6) {
        message = "Baking Lights";

        level.getLights(GameData.lightManager);
        level.evaluateUniqueBehaviour(lightManager);

        if (GameData.lightQuality != LightQuality.FORWARD_VERTEX) {
            loadingStage++;
            return;
        }

        graphics.bakeLights(GameData.lightManager, true);
        level.bakeLights(GameData.lightManager);

        loadingStage++;
    } else if (loadingStage == 7) {
        System.out.println(
                "Level loading done in " + ((float) (System.nanoTime() - time) / 1000000000f) + "seconds");
        GameData.finishLoading(graphics, GameScreen.INGAME);
        loadingStage++;
    }

    if (percent > 100)
        percent = 100;
}

From source file:com.lyeeedar.Roguelike3D.Graphics.Screens.LevelLoadingScreen.java

License:Open Source License

@Override
public void create() {

    lightManager = new LightManager(4, LightQuality.FORWARD_VERTEX);

    renderer = new ForwardRenderer();
    renderer.createShader(lightManager);

    GameObject go = new Enemy(new Color(), "icon", 0, 0, -4, 0.5f, GL20.GL_TRIANGLES, "cube", "2", "2", "2");
    go.create();// www. j a v a 2  s.c  om
    go.bakeLights(lightManager, true);

    objects.add(go);

    loading_bar = new Texture(Gdx.files.internal("data/skins/loading_bar.png"));
}