OSDN Git Service

added invader rotation and lights
authorbadlogic <badlogicgames@gmail.com>
Fri, 12 Apr 2013 20:46:08 +0000 (22:46 +0200)
committerbadlogic <badlogicgames@gmail.com>
Fri, 12 Apr 2013 20:46:08 +0000 (22:46 +0200)
demos/invaders/gdx-invaders/src/com/badlogic/gdxinvaders/GdxInvadersDesktop.java
demos/invaders/gdx-invaders/src/com/badlogic/gdxinvaders/Renderer.java
demos/invaders/gdx-invaders/src/com/badlogic/gdxinvaders/simulation/Invader.java
demos/invaders/gdx-invaders/src/com/badlogic/gdxinvaders/simulation/Simulation.java

index 742301d..918c061 100644 (file)
@@ -23,7 +23,7 @@ public class GdxInvadersDesktop {
                LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();\r
                config.title = "Gdx Invaders";\r
                config.vSyncEnabled = true;\r
-               config.useGL20 = true;\r
+               config.useGL20 = false;\r
                new LwjglApplication(new GdxInvaders(), config);\r
        }\r
 }\r
index 13d1883..9ac74b9 100644 (file)
@@ -29,6 +29,7 @@ import com.badlogic.gdx.graphics.VertexAttribute;
 import com.badlogic.gdx.graphics.VertexAttributes.Usage;\r
 import com.badlogic.gdx.graphics.g2d.BitmapFont;\r
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;\r
+import com.badlogic.gdx.graphics.g3d.Light;\r
 import com.badlogic.gdx.graphics.g3d.ModelBatch;\r
 import com.badlogic.gdx.graphics.g3d.RenderableProvider;\r
 import com.badlogic.gdx.graphics.g3d.shaders.DefaultShader;\r
@@ -71,6 +72,10 @@ public class Renderer {
        /** perspective camera **/\r
        private PerspectiveCamera camera;\r
 \r
+       /** the directional light **/\r
+       Light[] lights = { new Light(Color.WHITE, new Vector3(-1, -0.5f, 0).nor()) };\r
+\r
+\r
        ModelBatch modelBatch;\r
        \r
        final Vector3 tmpV = new Vector3();\r
@@ -104,8 +109,8 @@ public class Renderer {
                modelBatch.begin(camera);\r
                modelBatch.render(simulation.explosions);\r
                if (!simulation.ship.isExploding)\r
-                       modelBatch.render(simulation.ship);\r
-               modelBatch.render(simulation.invaders);\r
+                       modelBatch.render(simulation.ship, lights);\r
+               modelBatch.render(simulation.invaders, lights);\r
                modelBatch.render(simulation.blocks);\r
                modelBatch.render(simulation.shots);\r
                modelBatch.end();\r
index a88762d..d2c0c0b 100644 (file)
@@ -18,6 +18,7 @@ import com.badlogic.gdx.graphics.g3d.ModelInstance;
 import com.badlogic.gdx.math.Vector3;\r
 \r
 public class Invader extends ModelInstance {\r
+       public static float INVADER_ROTATION = 45f;\r
        public static float INVADER_RADIUS = 0.75f;\r
        public static float INVADER_VELOCITY = 1;\r
        public static int INVADER_POINTS = 40;\r
@@ -61,5 +62,6 @@ public class Invader extends ModelInstance {
                                movedDistance = 0;\r
                        }\r
                }\r
+               transform.rotate(0, 1, 0, INVADER_ROTATION * delta);\r
        }\r
 }\r
index a191e90..4727c6c 100644 (file)
@@ -16,6 +16,7 @@ package com.badlogic.gdxinvaders.simulation;
 import java.util.ArrayList;\r
 \r
 import com.badlogic.gdx.Gdx;\r
+import com.badlogic.gdx.graphics.Color;\r
 import com.badlogic.gdx.graphics.GL10;\r
 import com.badlogic.gdx.graphics.Mesh;\r
 import com.badlogic.gdx.graphics.Texture;\r
@@ -23,6 +24,7 @@ import com.badlogic.gdx.graphics.VertexAttribute;
 import com.badlogic.gdx.graphics.Pixmap.Format;\r
 import com.badlogic.gdx.graphics.Texture.TextureFilter;\r
 import com.badlogic.gdx.graphics.VertexAttributes.Usage;\r
+import com.badlogic.gdx.graphics.g3d.Light;\r
 import com.badlogic.gdx.graphics.g3d.Model;\r
 import com.badlogic.gdx.graphics.g3d.loader.ObjLoader;\r
 import com.badlogic.gdx.graphics.g3d.materials.BlendingAttribute;\r