diff --git a/src/engine/Engine.java b/src/engine/Engine.java index 286c6a7..d906554 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -8,6 +8,7 @@ */ package engine; +import org.lwjgl.glfw.GLFWFramebufferSizeCallback; import org.lwjgl.glfw.GLFWVidMode; import org.lwjgl.opengl.GL; @@ -44,7 +45,7 @@ public class Engine { this.window = glfwCreateWindow(width, height, "Boulevard Combattant", NULL, NULL); assert this.window != NULL; - // On récupère les informations du moniteur principale + // On récupère les informations du moniteur principal GLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); assert vidmode != null; @@ -57,6 +58,8 @@ public class Engine { glfwShowWindow(this.window); GL.createCapabilities(); + glfwSetFramebufferSizeCallback(window, resizeWindow); + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); System.out.println("OpenGL: " + glGetString(GL_VERSION)); @@ -96,6 +99,17 @@ public class Engine { } } + /* + Est appelé à chaque modification de la taille de la fenêtre, et modifie la taille de la zone de rendu + pour quelle corresponde à la taille de la fenêtre + */ + private static GLFWFramebufferSizeCallback resizeWindow = new GLFWFramebufferSizeCallback(){ + @Override + public void invoke(long window, int width, int height){ + glViewport(0,0,width,height); + } + }; + public static void main(String[] args) { Engine engine = new Engine(); engine.run(); diff --git a/src/engine/VertexArray.java b/src/engine/VertexArray.java index 03d3495..e7c64aa 100644 --- a/src/engine/VertexArray.java +++ b/src/engine/VertexArray.java @@ -42,6 +42,7 @@ public class VertexArray { public void render(){ bind(); draw(); + unbind(); } }