diff --git a/src/engine/Engine.java b/src/engine/Engine.java index 5b8226b..2855d5d 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -27,7 +27,8 @@ public class Engine { public Engine() { this.running = false; this.objectsGl = new ArrayList<>(); - ObjectGl.projection = Matrix4f.orthographic(-10.0f, 10.0f, -10.0f * 9.0f / 16.0f, 10.0f * 9.0f / 16.0f, 0.1f, 100.0f); + float width = 1280.0f; + ObjectGl.projection = Matrix4f.orthographic(-width, width, -width * 9.0f / 16.0f, width * 9.0f / 16.0f, 0.1f, 100.0f); ObjectGl.view = Matrix4f.translate(new Vector3f(0.0f,0.0f,1.0f)); } @@ -68,7 +69,7 @@ public class Engine { glfwSetFramebufferSizeCallback(window, resizeWindow); - glEnable(GL_DEPTH_TEST); // Z-Buffer plus z est petit plus l'objet est proche de la camera limite à 0.1f au dela l'objet disparait + glEnable(GL_DEPTH_TEST); // Z-Buffer plus z est grand plus l'objet est proche de la camera limite à 100.0f au dela l'objet disparait glEnable(GL_BLEND); // Transparence glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -103,6 +104,7 @@ public class Engine { public void add_objectGl(ObjectGl obj){ objectsGl.add(obj); + // TODO trié en fonction de la distance z sinon bug d'affichage } public void remove_objectGl(ObjectGl obj){ @@ -140,20 +142,24 @@ public class Engine { List path = new ArrayList<>(); path.add("textures/awesomeface.png"); - ObjectGl smiley = new ObjectGlTex(-0.5f,0.5f,0.0f,1.0f,1.0f, path, Primitive.stdTexWrap); + ObjectGl smiley = new ObjectGlTex(-0.5f,0.5f,0.0f,500.0f,500.0f, path, Primitive.stdTexWrap); engine.add_objectGl(smiley); + smiley.translate(new Vector3f(-2.5f,0.0f,0.0f)); - ObjectGl smiley2 = new ObjectGlTex(-0.5f,0.5f,0.0f,1.0f,1.0f, path, Primitive.stdTexWrap); + ObjectGl smiley2 = new ObjectGlTex(-0.5f,0.5f,0.0f,500.0f,500.0f, path, Primitive.stdTexWrap); engine.add_objectGl(smiley2); - smiley2.translate(new Vector3f(0.5f,0.0f,10.0f)); + smiley2.translate(new Vector3f(0.0f,0.0f,10.0f)); long timer = System.currentTimeMillis(); int frame = 0; while(engine.isRunning()){ // Game logic should fit here - smiley.rotateY(1.0f); - smiley2.rotateY(0.8f); + double time = glfwGetTime(); + + smiley.translate(new Vector3f( (float) Math.sin(time), (float) Math.cos(time), 0.0f)); + + smiley2.rotateZ(0.8f); //essential part v engine.update();