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