From 96c80d13fee95fc3729a38ada672d4dc6f7fc514 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9au?= <theau.baton@etu.univ-amu.fr>
Date: Thu, 7 Nov 2024 22:47:37 +0100
Subject: [PATCH] Window resizing

---
 CMakelists.txt                                 |   8 ++++----
 assets/textures/Cube_Black.png                 | Bin 0 -> 282 bytes
 assets/textures/Cube_Brown.png                 | Bin 0 -> 282 bytes
 assets/textures/Cube_Light_Red.png             | Bin 0 -> 282 bytes
 assets/textures/Cube_Red2.png                  | Bin 0 -> 282 bytes
 source/engine/graphics/front/engine/Engine.cpp |   4 ++++
 source/main.cpp                                |   1 -
 7 files changed, 8 insertions(+), 5 deletions(-)
 create mode 100644 assets/textures/Cube_Black.png
 create mode 100644 assets/textures/Cube_Brown.png
 create mode 100644 assets/textures/Cube_Light_Red.png
 create mode 100644 assets/textures/Cube_Red2.png

diff --git a/CMakelists.txt b/CMakelists.txt
index ed662f7..2de7e4f 100644
--- a/CMakelists.txt
+++ b/CMakelists.txt
@@ -24,7 +24,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
 if(WIN32)
 	option(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake")
 elseif(UNIX)
-	#option(CMAKE_TOOLCHAIN_FILE "/amuhome/b20017738/Bureau/vcpkg/scripts/buildsystems/vcpkg.cmake")	
+	option(CMAKE_TOOLCHAIN_FILE "/amuhome/b20017738/Bureau/vcpkg/scripts/buildsystems/vcpkg.cmake")	
 endif()
 
 #==============================================================
@@ -59,9 +59,9 @@ set_property(TARGET ${CURRENT_TARGET} PROPERTY RUNTIME_OUTPUT_DIRECTORY $<1:${CM
 
 target_include_directories(${CURRENT_TARGET} PRIVATE ${INCLUDE})
 
-#list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/glew_x64-linux")
-#list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/glm_x64-linux")
-#list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/imgui_x64-linux")
+list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/glew_x64-linux")
+list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/glm_x64-linux")
+list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/imgui_x64-linux")
 
 find_package(glfw3  REQUIRED)
 find_package(GLEW   REQUIRED)
diff --git a/assets/textures/Cube_Black.png b/assets/textures/Cube_Black.png
new file mode 100644
index 0000000000000000000000000000000000000000..c16e826571abf5b30be7c3365d62b1b8c8538ab0
GIT binary patch
literal 282
zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tG7>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|QThPl&6WoE!rKgRZVF0|UcRnY%F{btOT5!T<mNXK>J3`GtXj
zfwRCPvY3H^?*IrhW?k##WME)u_jGX#vG9L8$y2OBf#;~iyZUr%mM7Z3Y#JgzWK2%=
z7VkPJo>KDGfbDbxZ-nIM?wK3p7^4}5&oi_5MBjVsp7nI|Qd91Elha%__{W@oFmFj5
zlkbLOLUTCvCMXE=#56_S^#7-@aq%IB>IWHxjA{=uWY;trUlN$ZDYlnIIZ)S8ZIynb
e`l@PshMVfF3&VEv?_ywJVDNPHb6Mw<&;$UkwOW|~

literal 0
HcmV?d00001

diff --git a/assets/textures/Cube_Brown.png b/assets/textures/Cube_Brown.png
new file mode 100644
index 0000000000000000000000000000000000000000..020f8148945580c16561cc7b2b95e763ff718ffa
GIT binary patch
literal 282
zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tG7>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|QThPl#({kV&qc^3)6u1_p+2W^>nq)RhGJ1^@s5pTR+E<rfA9
z2F?PH$YKTtz5^i4n02j_lYxPu-P6S}#KQmWBu}vh1)if4@9NX7S)OSBvT2C?kTE&c
zTfFO_cuL7z1Gdu*yb+S0yJv2YV~l1LKF`eJ6MgTkd)Cv<OHH}wO-^&!;2(4T!Mr7L
zOuieA3C-cuo1h@f6VnuR)Bm5s#>Iyisvl$&GO9hukX_Sgd`Vyqr`TQ=<v?9WwN?6!
e>Z_{l8E&exE)3hvzl(u^fx*+&&t;ucLK6VRCtWT8

literal 0
HcmV?d00001

diff --git a/assets/textures/Cube_Light_Red.png b/assets/textures/Cube_Light_Red.png
new file mode 100644
index 0000000000000000000000000000000000000000..19358f477e5c40c303c41af9a48e25a12bfe1616
GIT binary patch
literal 282
zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tG7>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|QThPl)Sc6VFy<+e0293=9lP_on89)RhGJ1^@s5pTR+E<rfA9
z2F?PH$YKTtz5^i4n02j_lYxPu-P6S}#KQmWBu}vh1)if4@9NX7S)OSBvT2C?kTE&c
zTfFO_cuL7z1Gdu*yb+S0yJv2YV~l1LKF`eJ6MgTkd)Cv<OHH}wO-^&!;2(4T!Mr7L
zOuieA3C-cuo1h@f6VnuR)Bm5s#>Iyisvl$&GO9hukX_Sgd`Vyqr`TQ=<v?9WwN?6!
e>Z_{l8E&exE)3hvzl(u^fx*+&&t;ucLK6U|wOs`O

literal 0
HcmV?d00001

diff --git a/assets/textures/Cube_Red2.png b/assets/textures/Cube_Red2.png
new file mode 100644
index 0000000000000000000000000000000000000000..56f33155d5b904a8d0f2fec48a951ee55433a741
GIT binary patch
literal 282
zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tG7>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|QThPl)Sc6SG!j-9rH$3=9k$vX3u-)RhGJ1^@s5pTR+E<rfA9
z2F?PH$YKTtz5^i4n02j_lYxPu-P6S}#KQmWBu}vh1)if4@9NX7S)OSBvT2C?kTE&c
zTfFO_cuL7z1Gdu*yb+S0yJv2YV~l1LKF`eJ6MgTkd)Cv<OHH}wO-^&!;2(4T!Mr7L
zOuieA3C-cuo1h@f6VnuR)Bm5s#>Iyisvl$&GO9hukX_Sgd`Vyqr`TQ=<v?9WwN?6!
e>Z_{l8E&exE)3hvzl(u^fx*+&&t;ucLK6UFsa&!E

literal 0
HcmV?d00001

diff --git a/source/engine/graphics/front/engine/Engine.cpp b/source/engine/graphics/front/engine/Engine.cpp
index f5e4b12..46822d9 100644
--- a/source/engine/graphics/front/engine/Engine.cpp
+++ b/source/engine/graphics/front/engine/Engine.cpp
@@ -57,14 +57,18 @@ namespace megu {
         if(this->_window.isOpen()) {
             // Draw Layers
             TextureArray textures;
+            
             for(auto & [priority, layer] : this->_layers) {
                 if(!layer.get()->empty()) {
+                    const glm::vec2 & dimension = layer->renderer().dimension();
+                    glViewport(0, 0, static_cast<GLsizei>(dimension.x), static_cast<GLsizei>(dimension.y));
                     textures.push_back(layer->draw(this->_window, textures));
                 }
             }
 
             // Merge Textures
             FrameBuffer::BindDefaultFrameBuffer();
+            glViewport(0, 0, static_cast<GLsizei>(this->_window.width()), static_cast<GLsizei>(this->_window.height()));
             this->_renderer.render(this->_window, this->_group, textures);
             this->_window.swapBuffers();
         }
diff --git a/source/main.cpp b/source/main.cpp
index cc854ff..c4abc5e 100644
--- a/source/main.cpp
+++ b/source/main.cpp
@@ -83,7 +83,6 @@ int main(int argc, const char * argv[]) {
                 ++y;
             }
 
-
             if(id != 0) {
                 switch (id % 4) {
                     case 1:
-- 
GitLab