List of usage examples for com.badlogic.gdx.graphics GL20 GL_TRIANGLES
int GL_TRIANGLES
To view the source code for com.badlogic.gdx.graphics GL20 GL_TRIANGLES.
Click Source Link
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")); }