Index: VulkanGame.vcxproj
===================================================================
--- VulkanGame.vcxproj	(revision 1f25a71b386eeef5cb6cbb0253d3ce9645138b70)
+++ VulkanGame.vcxproj	(revision 0ae182faafd139f2caf1ecbd31d42c7d41360c54)
@@ -159,4 +159,5 @@
   </ItemGroup>
   <ItemGroup>
+    <None Include="assets\laser.xcf" />
     <None Include="shaders\overlay.frag" />
     <None Include="shaders\overlay.vert" />
@@ -164,4 +165,10 @@
     <None Include="shaders\scene.vert" />
   </ItemGroup>
+  <ItemGroup>
+    <Image Include="assets\images\spaceship.bmp" />
+  </ItemGroup>
+  <ItemGroup>
+    <Font Include="assets\fonts\lazy.ttf" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
Index: graphics-pipeline_vulkan.cpp
===================================================================
--- graphics-pipeline_vulkan.cpp	(revision 1f25a71b386eeef5cb6cbb0253d3ce9645138b70)
+++ graphics-pipeline_vulkan.cpp	(revision 0ae182faafd139f2caf1ecbd31d42c7d41360c54)
@@ -27,4 +27,8 @@
 
 GraphicsPipeline_Vulkan::~GraphicsPipeline_Vulkan() {
+}
+
+void GraphicsPipeline_Vulkan::updateRenderPass(VkRenderPass renderPass) {
+   this->renderPass = renderPass;
 }
 
Index: graphics-pipeline_vulkan.hpp
===================================================================
--- graphics-pipeline_vulkan.hpp	(revision 1f25a71b386eeef5cb6cbb0253d3ce9645138b70)
+++ graphics-pipeline_vulkan.hpp	(revision 0ae182faafd139f2caf1ecbd31d42c7d41360c54)
@@ -23,4 +23,6 @@
          Viewport viewport, int vertexSize);
       ~GraphicsPipeline_Vulkan();
+
+      void updateRenderPass(VkRenderPass renderPass);
 
       template<class VertexType, class IndexType>
Index: vulkan-game.cpp
===================================================================
--- vulkan-game.cpp	(revision 1f25a71b386eeef5cb6cbb0253d3ce9645138b70)
+++ vulkan-game.cpp	(revision 0ae182faafd139f2caf1ecbd31d42c7d41360c54)
@@ -74,5 +74,5 @@
 }
 
-// TODO: Make some more initi functions, or call this initUI if the
+// TODO: Make some more init functions, or call this initUI if the
 // amount of things initialized here keeps growing
 bool VulkanGame::initWindow(int width, int height, unsigned char guiFlags) {
@@ -252,7 +252,4 @@
    graphicsPipelines.back().createDescriptorPool(swapChainImages);
    graphicsPipelines.back().createDescriptorSets(swapChainImages);
-
-   // TODO: Creating the descriptor pool and descriptor sets might need to be redone when the
-   // swap chain is recreated
 
    cout << "Created " << graphicsPipelines.size() << " graphics pipelines" << endl;
@@ -958,5 +955,26 @@
    vkDeviceWaitIdle(device);
 
-   //cleanupSwapChain();
+   cleanupSwapChain();
+
+   createSwapChain();
+   createImageViews();
+   createRenderPass();
+
+   VulkanUtils::createDepthImage(device, physicalDevice, commandPool, findDepthFormat(), swapChainExtent,
+      depthImage, graphicsQueue);
+   createFramebuffers();
+   createUniformBuffers();
+
+   graphicsPipelines[0].updateRenderPass(renderPass);
+   graphicsPipelines[0].createPipeline("shaders/scene-vert.spv", "shaders/scene-frag.spv");
+   graphicsPipelines[0].createDescriptorPool(swapChainImages);
+   graphicsPipelines[0].createDescriptorSets(swapChainImages);
+
+   graphicsPipelines[1].updateRenderPass(renderPass);
+   graphicsPipelines[1].createPipeline("shaders/overlay-vert.spv", "shaders/overlay-frag.spv");
+   graphicsPipelines[1].createDescriptorPool(swapChainImages);
+   graphicsPipelines[1].createDescriptorSets(swapChainImages);
+
+   createCommandBuffers();
 }
 
Index: vulkan-ref.cpp
===================================================================
--- vulkan-ref.cpp	(revision 1f25a71b386eeef5cb6cbb0253d3ce9645138b70)
+++ vulkan-ref.cpp	(revision 0ae182faafd139f2caf1ecbd31d42c7d41360c54)
@@ -1894,5 +1894,4 @@
 
          vkDeviceWaitIdle(device);
-/*** END OF REFACTORED CODE ***/
 
          cleanupSwapChain();
@@ -1901,7 +1900,5 @@
          createImageViews();
          createRenderPass();
-
          createBufferResources();
-/*** START OF REFACTORED CODE ***/
       }
 
