diff --git a/src/engine/Engine.java b/src/engine/Engine.java index 2855d5d..593aa05 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -151,11 +151,14 @@ public class Engine { smiley2.translate(new Vector3f(0.0f,0.0f,10.0f)); long timer = System.currentTimeMillis(); + long lastFrame = System.currentTimeMillis(); int frame = 0; + boolean nextFrame = false; while(engine.isRunning()){ // Game logic should fit here double time = glfwGetTime(); + lastFrame = System.currentTimeMillis(); smiley.translate(new Vector3f( (float) Math.sin(time), (float) Math.cos(time), 0.0f)); @@ -173,6 +176,11 @@ public class Engine { frame = 0; } + while(!nextFrame){ + nextFrame = System.currentTimeMillis() - lastFrame >= 16.66f; + } + + nextFrame = false; if(engine.shouldClose()) engine.setRunning(false); } }