From 10f9a13af5efccd1670a23c23cee5616d0dd7eaf Mon Sep 17 00:00:00 2001
From: Alexander Gauggel <agauggel@uni-koblenz.de>
Date: Sat, 26 Jun 2021 19:26:11 +0200
Subject: [PATCH] [#69] Fix resize

---
 projects/particle_simulation/src/main.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/projects/particle_simulation/src/main.cpp b/projects/particle_simulation/src/main.cpp
index 91385c49..8cfabc08 100644
--- a/projects/particle_simulation/src/main.cpp
+++ b/projects/particle_simulation/src/main.cpp
@@ -214,7 +214,12 @@ int main(int argc, const char **argv) {
     cameraManager.getCamera(camIndex1).setPosition(glm::vec3(0.0f, 0.0f, -2.0f));
     cameraManager.getCamera(camIndex1).setCenter(glm::vec3(0.0f, 0.0f, 0.0f));
 
-    vkcv::Image colorBuffer = core.createImage(colorFormat, windowWidth, windowHeight, 1, false, true, true);
+    vkcv::ImageHandle colorBuffer = core.createImage(colorFormat, windowWidth, windowHeight, 1, false, true, true).getHandle();
+    window.e_resize.add([&](int width, int height) {
+        windowWidth = width;
+        windowHeight = height;
+        colorBuffer = core.createImage(colorFormat, windowWidth, windowHeight, 1, false, true, true).getHandle();
+    });
 
     vkcv::ShaderProgram tonemappingShader;
     compiler.compile(vkcv::ShaderStage::COMPUTE, "shaders/tonemapping.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) {
@@ -272,14 +277,14 @@ int main(int argc, const char **argv) {
                 particlePipeline,
                 pushConstantDataDraw,
                 {drawcalls},
-                { colorBuffer.getHandle() });
+                { colorBuffer });
 
-        core.prepareImageForStorage(cmdStream, colorBuffer.getHandle());
+        core.prepareImageForStorage(cmdStream, colorBuffer);
         core.prepareImageForStorage(cmdStream, swapchainInput);
 
         vkcv::DescriptorWrites tonemappingDescriptorWrites;
         tonemappingDescriptorWrites.storageImageWrites = {
-            vkcv::StorageImageDescriptorWrite(0, colorBuffer.getHandle()),
+            vkcv::StorageImageDescriptorWrite(0, colorBuffer),
             vkcv::StorageImageDescriptorWrite(1, swapchainInput)
         };
         core.writeDescriptorSet(tonemappingDescriptor, tonemappingDescriptorWrites);
-- 
GitLab