Index: game-gui-glfw.cpp
===================================================================
--- game-gui-glfw.cpp	(revision 5b026765e53c962deceba380c0f0f6c7249eb648)
+++ game-gui-glfw.cpp	(revision 83b5b4b93a32c66f32c2c36b7246de60b70c32ad)
@@ -156,4 +156,6 @@
    UIEvent e;
    e.type = UI_EVENT_WINDOWRESIZE;
+   e.windowResize.width = width;
+   e.windowResize.height = height;
 
    GameGui_GLFW::s_events.push(e);
Index: game-gui.hpp
===================================================================
--- game-gui.hpp	(revision 5b026765e53c962deceba380c0f0f6c7249eb648)
+++ game-gui.hpp	(revision 83b5b4b93a32c66f32c2c36b7246de60b70c32ad)
@@ -41,4 +41,10 @@
 };
 
+struct WindowResizeEvent {
+   EventType type;
+   int width;
+   int height;
+};
+
 struct UnknownEvent {
    EventType type;
@@ -51,4 +57,5 @@
    KeyEvent key;
    MouseEvent mouse;
+   WindowResizeEvent windowResize;
    UnknownEvent unknown;
 };
Index: graphics-pipeline.hpp
===================================================================
--- graphics-pipeline.hpp	(revision 5b026765e53c962deceba380c0f0f6c7249eb648)
+++ graphics-pipeline.hpp	(revision 83b5b4b93a32c66f32c2c36b7246de60b70c32ad)
@@ -6,4 +6,11 @@
 using namespace std;
 
+struct Viewport {
+   int x;
+   int y;
+   int width;
+   int height;
+};
+
 class GraphicsPipeline {
 public:
@@ -11,4 +18,7 @@
 
    virtual void createPipeline(string vertShaderFile, string fragShaderFile) = 0;
+
+protected:
+   Viewport viewport; // So far, not used for GraphicsPipeline_OpenGL
 };
 
Index: opengl-game.cpp
===================================================================
--- opengl-game.cpp	(revision 5b026765e53c962deceba380c0f0f6c7249eb648)
+++ opengl-game.cpp	(revision 83b5b4b93a32c66f32c2c36b7246de60b70c32ad)
@@ -5,4 +5,6 @@
 #include "consts.hpp"
 #include "logger.hpp"
+
+#include "utils.hpp"
 
 using namespace std;
@@ -66,6 +68,8 @@
    }
 
+   viewport = { 0, 0, gui->getWindowWidth(), gui->getWindowHeight() };
+
    cout << "Target window size: (" << width << ", " << height << ")" << endl;
-   cout << "Actual window size: (" << gui->getWindowWidth() << ", " << gui->getWindowHeight() << ")" << endl;
+   cout << "Actual window size: (" << viewport.width << ", " << viewport.height << ")" << endl;
 
    return RTWO_SUCCESS;
@@ -141,4 +145,6 @@
             case UI_EVENT_WINDOWRESIZE:
                cout << "Window resize event detected" << endl;
+               viewport.width = e.windowResize.width;
+               viewport.height = e.windowResize.height;
                break;
             default:
Index: opengl-game.hpp
===================================================================
--- opengl-game.hpp	(revision 5b026765e53c962deceba380c0f0f6c7249eb648)
+++ opengl-game.hpp	(revision 83b5b4b93a32c66f32c2c36b7246de60b70c32ad)
@@ -1,4 +1,6 @@
 #ifndef _OPENGL_GAME_H
 #define _OPENGL_GAME_H
+
+#include <glm/glm.hpp>
 
 #include "IMGUI/imgui.h"
@@ -17,4 +19,5 @@
    private:
       GameGui* gui;
+      Viewport viewport;
 
       vector<GraphicsPipeline_OpenGL> graphicsPipelines;
