diff --git a/client/src/main/java/core/engine/Engine.java b/client/src/main/java/core/engine/Engine.java index 932066c..2c298cb 100644 --- a/client/src/main/java/core/engine/Engine.java +++ b/client/src/main/java/core/engine/Engine.java @@ -9,9 +9,7 @@ import core.engine.renderer.MasterRenderer; import core.engine.terrain.Terrain; import core.engine.textures.ModelTexture; import org.lwjgl.Version; -import org.lwjgl.glfw.GLFWErrorCallback; -import org.lwjgl.glfw.GLFWKeyCallback; -import org.lwjgl.glfw.GLFWVidMode; +import org.lwjgl.glfw.*; import org.lwjgl.opengl.GL; import org.lwjgl.system.MemoryStack; import utils.vectors.Vector3f; @@ -113,6 +111,19 @@ public class Engine { // Set the clear color glClearColor(1.0f, 0.0f, 0.0f, 0.0f); Camera camera = new Camera(); + + GLFWScrollCallback glfwScrollCallback = new GLFWScrollCallback() { + @Override + public void invoke(long window, double xOffset, double yOffset) { + if(yOffset > 0) { + camera.zoomIn(); + } else if(yOffset < 0) { + camera.zoomOut(); + } + } + }; + + glfwSetScrollCallback(window, glfwScrollCallback); glfwSetKeyCallback(window, glfwKeyCallback = new GLFWKeyCallback() { @Override public void invoke(long window, int key, int scancode, int action, int mods) { diff --git a/client/src/main/java/core/engine/entity/Camera.java b/client/src/main/java/core/engine/entity/Camera.java index 3647f87..a34383a 100644 --- a/client/src/main/java/core/engine/entity/Camera.java +++ b/client/src/main/java/core/engine/entity/Camera.java @@ -25,6 +25,14 @@ public class Camera { position.x -= .5f; } + public void zoomOut() { + position.y += 0.5f; + } + + public void zoomIn() { + position.y -= 0.5f; + } + public Vector3f getPosition() { return position; }