diff --git a/projects/first_mesh/resources/Szene/Szene.bin b/projects/first_mesh/assets/Szene/Szene.bin similarity index 100% rename from projects/first_mesh/resources/Szene/Szene.bin rename to projects/first_mesh/assets/Szene/Szene.bin diff --git a/projects/first_mesh/resources/Szene/Szene.gltf b/projects/first_mesh/assets/Szene/Szene.gltf similarity index 100% rename from projects/first_mesh/resources/Szene/Szene.gltf rename to projects/first_mesh/assets/Szene/Szene.gltf diff --git a/projects/first_mesh/resources/Szene/boards2_vcyc.jpg b/projects/first_mesh/assets/Szene/boards2_vcyc.jpg similarity index 100% rename from projects/first_mesh/resources/Szene/boards2_vcyc.jpg rename to projects/first_mesh/assets/Szene/boards2_vcyc.jpg diff --git a/projects/first_mesh/resources/Szene/boards2_vcyc_jpg.jpg b/projects/first_mesh/assets/Szene/boards2_vcyc_jpg.jpg similarity index 100% rename from projects/first_mesh/resources/Szene/boards2_vcyc_jpg.jpg rename to projects/first_mesh/assets/Szene/boards2_vcyc_jpg.jpg diff --git a/projects/first_mesh/resources/cube/boards2_vcyc_jpg.jpg b/projects/first_mesh/assets/cube/boards2_vcyc_jpg.jpg similarity index 100% rename from projects/first_mesh/resources/cube/boards2_vcyc_jpg.jpg rename to projects/first_mesh/assets/cube/boards2_vcyc_jpg.jpg diff --git a/projects/first_mesh/resources/cube/cube.bin b/projects/first_mesh/assets/cube/cube.bin similarity index 100% rename from projects/first_mesh/resources/cube/cube.bin rename to projects/first_mesh/assets/cube/cube.bin diff --git a/projects/first_mesh/resources/cube/cube.blend b/projects/first_mesh/assets/cube/cube.blend similarity index 100% rename from projects/first_mesh/resources/cube/cube.blend rename to projects/first_mesh/assets/cube/cube.blend diff --git a/projects/first_mesh/resources/cube/cube.blend1 b/projects/first_mesh/assets/cube/cube.blend1 similarity index 100% rename from projects/first_mesh/resources/cube/cube.blend1 rename to projects/first_mesh/assets/cube/cube.blend1 diff --git a/projects/first_mesh/resources/cube/cube.glb b/projects/first_mesh/assets/cube/cube.glb similarity index 100% rename from projects/first_mesh/resources/cube/cube.glb rename to projects/first_mesh/assets/cube/cube.glb diff --git a/projects/first_mesh/resources/cube/cube.gltf b/projects/first_mesh/assets/cube/cube.gltf similarity index 100% rename from projects/first_mesh/resources/cube/cube.gltf rename to projects/first_mesh/assets/cube/cube.gltf diff --git a/projects/first_mesh/resources/shaders/shader.frag b/projects/first_mesh/assets/shaders/shader.frag similarity index 100% rename from projects/first_mesh/resources/shaders/shader.frag rename to projects/first_mesh/assets/shaders/shader.frag diff --git a/projects/first_mesh/resources/shaders/shader.vert b/projects/first_mesh/assets/shaders/shader.vert similarity index 100% rename from projects/first_mesh/resources/shaders/shader.vert rename to projects/first_mesh/assets/shaders/shader.vert diff --git a/projects/first_mesh/resources/triangle/Triangle.bin b/projects/first_mesh/assets/triangle/Triangle.bin similarity index 100% rename from projects/first_mesh/resources/triangle/Triangle.bin rename to projects/first_mesh/assets/triangle/Triangle.bin diff --git a/projects/first_mesh/resources/triangle/Triangle.blend b/projects/first_mesh/assets/triangle/Triangle.blend similarity index 100% rename from projects/first_mesh/resources/triangle/Triangle.blend rename to projects/first_mesh/assets/triangle/Triangle.blend diff --git a/projects/first_mesh/resources/triangle/Triangle.glb b/projects/first_mesh/assets/triangle/Triangle.glb similarity index 100% rename from projects/first_mesh/resources/triangle/Triangle.glb rename to projects/first_mesh/assets/triangle/Triangle.glb diff --git a/projects/first_mesh/resources/triangle/Triangle.gltf b/projects/first_mesh/assets/triangle/Triangle.gltf similarity index 100% rename from projects/first_mesh/resources/triangle/Triangle.gltf rename to projects/first_mesh/assets/triangle/Triangle.gltf diff --git a/projects/first_mesh/src/main.cpp b/projects/first_mesh/src/main.cpp index 0649bdd12ae50d34c4c9b37119a022ac9b59bafa..a87c95447b24d19faff6c00356cdcb57348a257e 100644 --- a/projects/first_mesh/src/main.cpp +++ b/projects/first_mesh/src/main.cpp @@ -9,13 +9,10 @@ int main(int argc, const char** argv) { const char* applicationName = "First Mesh"; - uint32_t windowWidth = 800; - uint32_t windowHeight = 600; - vkcv::Window window = vkcv::Window::create( applicationName, - windowWidth, - windowHeight, + 800, + 600, true ); @@ -29,7 +26,7 @@ int main(int argc, const char** argv) { vkcv::asset::Scene mesh; - const char* path = argc > 1 ? argv[1] : "resources/cube/cube.gltf"; + const char* path = argc > 1 ? argv[1] : "assets/cube/cube.gltf"; int result = vkcv::asset::loadScene(path, mesh); if (result == 1) { @@ -80,12 +77,12 @@ int main(int argc, const char** argv) { vkcv::ShaderProgram firstMeshProgram; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/shader.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/shader.vert"), [&firstMeshProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { firstMeshProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/shader.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/shader.frag"), [&firstMeshProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { firstMeshProgram.addShader(shaderStage, path); }); @@ -160,8 +157,15 @@ int main(int argc, const char** argv) { setWrites.samplerWrites = { vkcv::SamplerDescriptorWrite(1, sampler) }; core.writeDescriptorSet(descriptorSet, setWrites); - - vkcv::ImageHandle depthBuffer = core.createImage(vk::Format::eD32Sfloat, windowWidth, windowHeight, 1, false).getHandle(); + + auto swapchainExtent = core.getSwapchain().getExtent(); + + vkcv::ImageHandle depthBuffer = core.createImage( + vk::Format::eD32Sfloat, + swapchainExtent.width, + swapchainExtent.height, + 1, false + ).getHandle(); const vkcv::ImageHandle swapchainInput = vkcv::ImageHandle::createSwapchainImageHandle(); @@ -188,11 +192,11 @@ int main(int argc, const char** argv) { continue; } - if ((swapchainWidth != windowWidth) || ((swapchainHeight != windowHeight))) { + if ((swapchainWidth != swapchainExtent.width) || ((swapchainHeight != swapchainExtent.height))) { depthBuffer = core.createImage(vk::Format::eD32Sfloat, swapchainWidth, swapchainHeight).getHandle(); - windowWidth = swapchainWidth; - windowHeight = swapchainHeight; + swapchainExtent.width = swapchainWidth; + swapchainExtent.height = swapchainHeight; } auto end = std::chrono::system_clock::now(); diff --git a/projects/first_scene/resources/Cutlery/Cutlery_chrome_BaseColor.png b/projects/first_scene/assets/Cutlery/Cutlery_chrome_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Cutlery_chrome_BaseColor.png rename to projects/first_scene/assets/Cutlery/Cutlery_chrome_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/Cutlery_chrome_Normal.png b/projects/first_scene/assets/Cutlery/Cutlery_chrome_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Cutlery_chrome_Normal.png rename to projects/first_scene/assets/Cutlery/Cutlery_chrome_Normal.png diff --git a/projects/first_scene/resources/Cutlery/Cutlery_details_BaseColor.png b/projects/first_scene/assets/Cutlery/Cutlery_details_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Cutlery_details_BaseColor.png rename to projects/first_scene/assets/Cutlery/Cutlery_details_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/Cutlery_details_Normal.png b/projects/first_scene/assets/Cutlery/Cutlery_details_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Cutlery_details_Normal.png rename to projects/first_scene/assets/Cutlery/Cutlery_details_Normal.png diff --git a/projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Caps_BaseColor.png b/projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Caps_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Caps_BaseColor.png rename to projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Caps_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Caps_Normal.png b/projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Caps_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Caps_Normal.png rename to projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Caps_Normal.png diff --git a/projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Glass_Wine_BaseColor.png b/projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Glass_Wine_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Glass_Wine_BaseColor.png rename to projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Glass_Wine_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Glass_Wine_Normal.png b/projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Glass_Wine_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Paris_LiquorBottle_01_Glass_Wine_Normal.png rename to projects/first_scene/assets/Cutlery/Paris_LiquorBottle_01_Glass_Wine_Normal.png diff --git a/projects/first_scene/resources/Cutlery/Plates_Ceramic_BaseColor.png b/projects/first_scene/assets/Cutlery/Plates_Ceramic_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Plates_Ceramic_BaseColor.png rename to projects/first_scene/assets/Cutlery/Plates_Ceramic_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/Plates_Ceramic_Normal.png b/projects/first_scene/assets/Cutlery/Plates_Ceramic_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Plates_Ceramic_Normal.png rename to projects/first_scene/assets/Cutlery/Plates_Ceramic_Normal.png diff --git a/projects/first_scene/resources/Cutlery/Plates_Details_BaseColor-Plates_Details_BaseColor.png b/projects/first_scene/assets/Cutlery/Plates_Details_BaseColor-Plates_Details_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Plates_Details_BaseColor-Plates_Details_BaseColor.png rename to projects/first_scene/assets/Cutlery/Plates_Details_BaseColor-Plates_Details_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/Plates_Details_Normal.png b/projects/first_scene/assets/Cutlery/Plates_Details_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/Plates_Details_Normal.png rename to projects/first_scene/assets/Cutlery/Plates_Details_Normal.png diff --git a/projects/first_scene/resources/Cutlery/ToffeeJar_Label_BaseColor.png b/projects/first_scene/assets/Cutlery/ToffeeJar_Label_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/ToffeeJar_Label_BaseColor.png rename to projects/first_scene/assets/Cutlery/ToffeeJar_Label_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/ToffeeJar_Label_Normal.png b/projects/first_scene/assets/Cutlery/ToffeeJar_Label_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/ToffeeJar_Label_Normal.png rename to projects/first_scene/assets/Cutlery/ToffeeJar_Label_Normal.png diff --git a/projects/first_scene/resources/Cutlery/TransparentGlass_BaseColor.png b/projects/first_scene/assets/Cutlery/TransparentGlass_BaseColor.png similarity index 100% rename from projects/first_scene/resources/Cutlery/TransparentGlass_BaseColor.png rename to projects/first_scene/assets/Cutlery/TransparentGlass_BaseColor.png diff --git a/projects/first_scene/resources/Cutlery/TransparentGlass_Normal.png b/projects/first_scene/assets/Cutlery/TransparentGlass_Normal.png similarity index 100% rename from projects/first_scene/resources/Cutlery/TransparentGlass_Normal.png rename to projects/first_scene/assets/Cutlery/TransparentGlass_Normal.png diff --git a/projects/first_scene/resources/Cutlery/cutlerySzene.bin b/projects/first_scene/assets/Cutlery/cutlerySzene.bin similarity index 100% rename from projects/first_scene/resources/Cutlery/cutlerySzene.bin rename to projects/first_scene/assets/Cutlery/cutlerySzene.bin diff --git a/projects/first_scene/resources/Cutlery/cutlerySzene.glb b/projects/first_scene/assets/Cutlery/cutlerySzene.glb similarity index 100% rename from projects/first_scene/resources/Cutlery/cutlerySzene.glb rename to projects/first_scene/assets/Cutlery/cutlerySzene.glb diff --git a/projects/first_scene/resources/Cutlery/cutlerySzene.gltf b/projects/first_scene/assets/Cutlery/cutlerySzene.gltf similarity index 100% rename from projects/first_scene/resources/Cutlery/cutlerySzene.gltf rename to projects/first_scene/assets/Cutlery/cutlerySzene.gltf diff --git a/projects/first_scene/resources/Sponza/Sponza.bin b/projects/first_scene/assets/Sponza/Sponza.bin similarity index 100% rename from projects/first_scene/resources/Sponza/Sponza.bin rename to projects/first_scene/assets/Sponza/Sponza.bin diff --git a/projects/first_scene/resources/Sponza/Sponza.gltf b/projects/first_scene/assets/Sponza/Sponza.gltf similarity index 100% rename from projects/first_scene/resources/Sponza/Sponza.gltf rename to projects/first_scene/assets/Sponza/Sponza.gltf diff --git a/projects/first_scene/resources/Sponza/SponzaFloor.bin b/projects/first_scene/assets/Sponza/SponzaFloor.bin similarity index 100% rename from projects/first_scene/resources/Sponza/SponzaFloor.bin rename to projects/first_scene/assets/Sponza/SponzaFloor.bin diff --git a/projects/first_scene/resources/Sponza/SponzaFloor.gltf b/projects/first_scene/assets/Sponza/SponzaFloor.gltf similarity index 100% rename from projects/first_scene/resources/Sponza/SponzaFloor.gltf rename to projects/first_scene/assets/Sponza/SponzaFloor.gltf diff --git a/projects/first_scene/resources/Sponza/background.png b/projects/first_scene/assets/Sponza/background.png similarity index 100% rename from projects/first_scene/resources/Sponza/background.png rename to projects/first_scene/assets/Sponza/background.png diff --git a/projects/first_scene/resources/Sponza/chain_texture.png b/projects/first_scene/assets/Sponza/chain_texture.png similarity index 100% rename from projects/first_scene/resources/Sponza/chain_texture.png rename to projects/first_scene/assets/Sponza/chain_texture.png diff --git a/projects/first_scene/resources/Sponza/lion.png b/projects/first_scene/assets/Sponza/lion.png similarity index 100% rename from projects/first_scene/resources/Sponza/lion.png rename to projects/first_scene/assets/Sponza/lion.png diff --git a/projects/first_scene/resources/Sponza/spnza_bricks_a_diff.png b/projects/first_scene/assets/Sponza/spnza_bricks_a_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/spnza_bricks_a_diff.png rename to projects/first_scene/assets/Sponza/spnza_bricks_a_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_arch_diff.png b/projects/first_scene/assets/Sponza/sponza_arch_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_arch_diff.png rename to projects/first_scene/assets/Sponza/sponza_arch_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_ceiling_a_diff.png b/projects/first_scene/assets/Sponza/sponza_ceiling_a_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_ceiling_a_diff.png rename to projects/first_scene/assets/Sponza/sponza_ceiling_a_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_column_a_diff.png b/projects/first_scene/assets/Sponza/sponza_column_a_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_column_a_diff.png rename to projects/first_scene/assets/Sponza/sponza_column_a_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_column_b_diff.png b/projects/first_scene/assets/Sponza/sponza_column_b_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_column_b_diff.png rename to projects/first_scene/assets/Sponza/sponza_column_b_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_column_c_diff.png b/projects/first_scene/assets/Sponza/sponza_column_c_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_column_c_diff.png rename to projects/first_scene/assets/Sponza/sponza_column_c_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_curtain_blue_diff.png b/projects/first_scene/assets/Sponza/sponza_curtain_blue_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_curtain_blue_diff.png rename to projects/first_scene/assets/Sponza/sponza_curtain_blue_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_curtain_diff.png b/projects/first_scene/assets/Sponza/sponza_curtain_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_curtain_diff.png rename to projects/first_scene/assets/Sponza/sponza_curtain_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_curtain_green_diff.png b/projects/first_scene/assets/Sponza/sponza_curtain_green_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_curtain_green_diff.png rename to projects/first_scene/assets/Sponza/sponza_curtain_green_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_details_diff.png b/projects/first_scene/assets/Sponza/sponza_details_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_details_diff.png rename to projects/first_scene/assets/Sponza/sponza_details_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_fabric_blue_diff.png b/projects/first_scene/assets/Sponza/sponza_fabric_blue_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_fabric_blue_diff.png rename to projects/first_scene/assets/Sponza/sponza_fabric_blue_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_fabric_diff.png b/projects/first_scene/assets/Sponza/sponza_fabric_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_fabric_diff.png rename to projects/first_scene/assets/Sponza/sponza_fabric_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_fabric_green_diff.png b/projects/first_scene/assets/Sponza/sponza_fabric_green_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_fabric_green_diff.png rename to projects/first_scene/assets/Sponza/sponza_fabric_green_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_flagpole_diff.png b/projects/first_scene/assets/Sponza/sponza_flagpole_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_flagpole_diff.png rename to projects/first_scene/assets/Sponza/sponza_flagpole_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_floor_a_diff.png b/projects/first_scene/assets/Sponza/sponza_floor_a_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_floor_a_diff.png rename to projects/first_scene/assets/Sponza/sponza_floor_a_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_roof_diff.png b/projects/first_scene/assets/Sponza/sponza_roof_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_roof_diff.png rename to projects/first_scene/assets/Sponza/sponza_roof_diff.png diff --git a/projects/first_scene/resources/Sponza/sponza_thorn_diff.png b/projects/first_scene/assets/Sponza/sponza_thorn_diff.png similarity index 100% rename from projects/first_scene/resources/Sponza/sponza_thorn_diff.png rename to projects/first_scene/assets/Sponza/sponza_thorn_diff.png diff --git a/projects/first_scene/resources/Sponza/vase_dif.png b/projects/first_scene/assets/Sponza/vase_dif.png similarity index 100% rename from projects/first_scene/resources/Sponza/vase_dif.png rename to projects/first_scene/assets/Sponza/vase_dif.png diff --git a/projects/first_scene/resources/Sponza/vase_hanging.png b/projects/first_scene/assets/Sponza/vase_hanging.png similarity index 100% rename from projects/first_scene/resources/Sponza/vase_hanging.png rename to projects/first_scene/assets/Sponza/vase_hanging.png diff --git a/projects/first_scene/resources/Sponza/vase_plant.png b/projects/first_scene/assets/Sponza/vase_plant.png similarity index 100% rename from projects/first_scene/resources/Sponza/vase_plant.png rename to projects/first_scene/assets/Sponza/vase_plant.png diff --git a/projects/first_scene/resources/Sponza/vase_round.png b/projects/first_scene/assets/Sponza/vase_round.png similarity index 100% rename from projects/first_scene/resources/Sponza/vase_round.png rename to projects/first_scene/assets/Sponza/vase_round.png diff --git a/projects/first_scene/resources/Szene/Szene.bin b/projects/first_scene/assets/Szene/Szene.bin similarity index 100% rename from projects/first_scene/resources/Szene/Szene.bin rename to projects/first_scene/assets/Szene/Szene.bin diff --git a/projects/first_scene/resources/Szene/Szene.gltf b/projects/first_scene/assets/Szene/Szene.gltf similarity index 100% rename from projects/first_scene/resources/Szene/Szene.gltf rename to projects/first_scene/assets/Szene/Szene.gltf diff --git a/projects/first_scene/resources/Szene/boards2_vcyc.jpg b/projects/first_scene/assets/Szene/boards2_vcyc.jpg similarity index 100% rename from projects/first_scene/resources/Szene/boards2_vcyc.jpg rename to projects/first_scene/assets/Szene/boards2_vcyc.jpg diff --git a/projects/first_scene/resources/Szene/boards2_vcyc_jpg.jpg b/projects/first_scene/assets/Szene/boards2_vcyc_jpg.jpg similarity index 100% rename from projects/first_scene/resources/Szene/boards2_vcyc_jpg.jpg rename to projects/first_scene/assets/Szene/boards2_vcyc_jpg.jpg diff --git a/projects/first_scene/resources/shaders/shader.frag b/projects/first_scene/assets/shaders/shader.frag similarity index 100% rename from projects/first_scene/resources/shaders/shader.frag rename to projects/first_scene/assets/shaders/shader.frag diff --git a/projects/first_scene/resources/shaders/shader.vert b/projects/first_scene/assets/shaders/shader.vert similarity index 100% rename from projects/first_scene/resources/shaders/shader.vert rename to projects/first_scene/assets/shaders/shader.vert diff --git a/projects/first_scene/src/main.cpp b/projects/first_scene/src/main.cpp index cc026e4302e9970be58fc698e9148ea3c6602806..37cefd3323c9ef13a4124450d9f08c76c9661836 100644 --- a/projects/first_scene/src/main.cpp +++ b/projects/first_scene/src/main.cpp @@ -10,13 +10,10 @@ int main(int argc, const char** argv) { const char* applicationName = "First Scene"; - uint32_t windowWidth = 800; - uint32_t windowHeight = 600; - vkcv::Window window = vkcv::Window::create( applicationName, - windowWidth, - windowHeight, + 800, + 600, true ); @@ -38,7 +35,7 @@ int main(int argc, const char** argv) { ); vkcv::scene::Scene scene = vkcv::scene::Scene::load(core, std::filesystem::path( - argc > 1 ? argv[1] : "resources/Sponza/Sponza.gltf" + argc > 1 ? argv[1] : "assets/Sponza/Sponza.gltf" )); const vkcv::AttachmentDescription present_color_attachment( @@ -64,12 +61,12 @@ int main(int argc, const char** argv) { vkcv::ShaderProgram sceneShaderProgram; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/shader.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/shader.vert"), [&sceneShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { sceneShaderProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/shader.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/shader.frag"), [&sceneShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { sceneShaderProgram.addShader(shaderStage, path); }); @@ -98,8 +95,14 @@ int main(int argc, const char** argv) { std::cout << "Error. Could not create graphics pipeline. Exiting." << std::endl; return EXIT_FAILURE; } + + auto swapchainExtent = core.getSwapchain().getExtent(); - vkcv::ImageHandle depthBuffer = core.createImage(vk::Format::eD32Sfloat, windowWidth, windowHeight).getHandle(); + vkcv::ImageHandle depthBuffer = core.createImage( + vk::Format::eD32Sfloat, + swapchainExtent.width, + swapchainExtent.height + ).getHandle(); const vkcv::ImageHandle swapchainInput = vkcv::ImageHandle::createSwapchainImageHandle(); @@ -115,11 +118,11 @@ int main(int argc, const char** argv) { continue; } - if ((swapchainWidth != windowWidth) || ((swapchainHeight != windowHeight))) { + if ((swapchainWidth != swapchainExtent.width) || ((swapchainHeight != swapchainExtent.height))) { depthBuffer = core.createImage(vk::Format::eD32Sfloat, swapchainWidth, swapchainHeight).getHandle(); - windowWidth = swapchainWidth; - windowHeight = swapchainHeight; + swapchainExtent.width = swapchainWidth; + swapchainExtent.height = swapchainHeight; } auto end = std::chrono::system_clock::now(); diff --git a/projects/first_triangle/src/main.cpp b/projects/first_triangle/src/main.cpp index d1d856b8863badef8a1b01f6277979cde019c4e0..1bfb2edca776eafac9a94422f87d0401e698fa82 100644 --- a/projects/first_triangle/src/main.cpp +++ b/projects/first_triangle/src/main.cpp @@ -7,13 +7,11 @@ int main(int argc, const char** argv) { const char* applicationName = "First Triangle"; - - const int windowWidth = 800; - const int windowHeight = 600; + vkcv::Window window = vkcv::Window::create( applicationName, - windowWidth, - windowHeight, + 800, + 600, false ); @@ -60,11 +58,13 @@ int main(int argc, const char** argv) { [&triangleShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { triangleShaderProgram.addShader(shaderStage, path); }); + + const auto swapchainExtent = core.getSwapchain().getExtent(); const vkcv::PipelineConfig trianglePipelineDefinition { triangleShaderProgram, - (uint32_t)windowWidth, - (uint32_t)windowHeight, + swapchainExtent.width, + swapchainExtent.height, trianglePass, {}, {}, diff --git a/projects/indirect_dispatch/resources/models/cube.bin b/projects/indirect_dispatch/assets/models/cube.bin similarity index 100% rename from projects/indirect_dispatch/resources/models/cube.bin rename to projects/indirect_dispatch/assets/models/cube.bin diff --git a/projects/indirect_dispatch/resources/models/cube.gltf b/projects/indirect_dispatch/assets/models/cube.gltf similarity index 100% rename from projects/indirect_dispatch/resources/models/cube.gltf rename to projects/indirect_dispatch/assets/models/cube.gltf diff --git a/projects/indirect_dispatch/resources/models/grid.png b/projects/indirect_dispatch/assets/models/grid.png similarity index 100% rename from projects/indirect_dispatch/resources/models/grid.png rename to projects/indirect_dispatch/assets/models/grid.png diff --git a/projects/indirect_dispatch/resources/models/ground.bin b/projects/indirect_dispatch/assets/models/ground.bin similarity index 100% rename from projects/indirect_dispatch/resources/models/ground.bin rename to projects/indirect_dispatch/assets/models/ground.bin diff --git a/projects/indirect_dispatch/resources/models/ground.gltf b/projects/indirect_dispatch/assets/models/ground.gltf similarity index 100% rename from projects/indirect_dispatch/resources/models/ground.gltf rename to projects/indirect_dispatch/assets/models/ground.gltf diff --git a/projects/indirect_dispatch/resources/shaders/gammaCorrection.comp b/projects/indirect_dispatch/assets/shaders/gammaCorrection.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/gammaCorrection.comp rename to projects/indirect_dispatch/assets/shaders/gammaCorrection.comp diff --git a/projects/indirect_dispatch/resources/shaders/mesh.frag b/projects/indirect_dispatch/assets/shaders/mesh.frag similarity index 100% rename from projects/indirect_dispatch/resources/shaders/mesh.frag rename to projects/indirect_dispatch/assets/shaders/mesh.frag diff --git a/projects/indirect_dispatch/resources/shaders/mesh.vert b/projects/indirect_dispatch/assets/shaders/mesh.vert similarity index 100% rename from projects/indirect_dispatch/resources/shaders/mesh.vert rename to projects/indirect_dispatch/assets/shaders/mesh.vert diff --git a/projects/indirect_dispatch/resources/shaders/motionBlur.comp b/projects/indirect_dispatch/assets/shaders/motionBlur.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlur.comp rename to projects/indirect_dispatch/assets/shaders/motionBlur.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionBlur.inc b/projects/indirect_dispatch/assets/shaders/motionBlur.inc similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlur.inc rename to projects/indirect_dispatch/assets/shaders/motionBlur.inc diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurColorCopy.comp b/projects/indirect_dispatch/assets/shaders/motionBlurColorCopy.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurColorCopy.comp rename to projects/indirect_dispatch/assets/shaders/motionBlurColorCopy.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurConfig.inc b/projects/indirect_dispatch/assets/shaders/motionBlurConfig.inc similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurConfig.inc rename to projects/indirect_dispatch/assets/shaders/motionBlurConfig.inc diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurFastPath.comp b/projects/indirect_dispatch/assets/shaders/motionBlurFastPath.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurFastPath.comp rename to projects/indirect_dispatch/assets/shaders/motionBlurFastPath.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurTileClassification.comp b/projects/indirect_dispatch/assets/shaders/motionBlurTileClassification.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurTileClassification.comp rename to projects/indirect_dispatch/assets/shaders/motionBlurTileClassification.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurTileClassificationVis.comp b/projects/indirect_dispatch/assets/shaders/motionBlurTileClassificationVis.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurTileClassificationVis.comp rename to projects/indirect_dispatch/assets/shaders/motionBlurTileClassificationVis.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurWorkTile.inc b/projects/indirect_dispatch/assets/shaders/motionBlurWorkTile.inc similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurWorkTile.inc rename to projects/indirect_dispatch/assets/shaders/motionBlurWorkTile.inc diff --git a/projects/indirect_dispatch/resources/shaders/motionBlurWorkTileReset.comp b/projects/indirect_dispatch/assets/shaders/motionBlurWorkTileReset.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionBlurWorkTileReset.comp rename to projects/indirect_dispatch/assets/shaders/motionBlurWorkTileReset.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionVector.inc b/projects/indirect_dispatch/assets/shaders/motionVector.inc similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionVector.inc rename to projects/indirect_dispatch/assets/shaders/motionVector.inc diff --git a/projects/indirect_dispatch/resources/shaders/motionVectorMinMax.comp b/projects/indirect_dispatch/assets/shaders/motionVectorMinMax.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionVectorMinMax.comp rename to projects/indirect_dispatch/assets/shaders/motionVectorMinMax.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionVectorMinMaxNeighbourhood.comp b/projects/indirect_dispatch/assets/shaders/motionVectorMinMaxNeighbourhood.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionVectorMinMaxNeighbourhood.comp rename to projects/indirect_dispatch/assets/shaders/motionVectorMinMaxNeighbourhood.comp diff --git a/projects/indirect_dispatch/resources/shaders/motionVectorVisualisation.comp b/projects/indirect_dispatch/assets/shaders/motionVectorVisualisation.comp similarity index 100% rename from projects/indirect_dispatch/resources/shaders/motionVectorVisualisation.comp rename to projects/indirect_dispatch/assets/shaders/motionVectorVisualisation.comp diff --git a/projects/indirect_dispatch/resources/shaders/prepass.frag b/projects/indirect_dispatch/assets/shaders/prepass.frag similarity index 100% rename from projects/indirect_dispatch/resources/shaders/prepass.frag rename to projects/indirect_dispatch/assets/shaders/prepass.frag diff --git a/projects/indirect_dispatch/resources/shaders/prepass.vert b/projects/indirect_dispatch/assets/shaders/prepass.vert similarity index 100% rename from projects/indirect_dispatch/resources/shaders/prepass.vert rename to projects/indirect_dispatch/assets/shaders/prepass.vert diff --git a/projects/indirect_dispatch/resources/shaders/sky.frag b/projects/indirect_dispatch/assets/shaders/sky.frag similarity index 100% rename from projects/indirect_dispatch/resources/shaders/sky.frag rename to projects/indirect_dispatch/assets/shaders/sky.frag diff --git a/projects/indirect_dispatch/resources/shaders/sky.vert b/projects/indirect_dispatch/assets/shaders/sky.vert similarity index 100% rename from projects/indirect_dispatch/resources/shaders/sky.vert rename to projects/indirect_dispatch/assets/shaders/sky.vert diff --git a/projects/indirect_dispatch/resources/shaders/skyPrepass.frag b/projects/indirect_dispatch/assets/shaders/skyPrepass.frag similarity index 100% rename from projects/indirect_dispatch/resources/shaders/skyPrepass.frag rename to projects/indirect_dispatch/assets/shaders/skyPrepass.frag diff --git a/projects/indirect_dispatch/resources/shaders/skyPrepass.vert b/projects/indirect_dispatch/assets/shaders/skyPrepass.vert similarity index 100% rename from projects/indirect_dispatch/resources/shaders/skyPrepass.vert rename to projects/indirect_dispatch/assets/shaders/skyPrepass.vert diff --git a/projects/indirect_dispatch/src/App.cpp b/projects/indirect_dispatch/src/App.cpp index 5927970333d63d7e0c3bbbda4b7ccbf321c48a48..7731fa40a2b1d880f21edc1a08595b2d64c0440f 100644 --- a/projects/indirect_dispatch/src/App.cpp +++ b/projects/indirect_dispatch/src/App.cpp @@ -35,16 +35,16 @@ bool App::initialize() { if (!loadSkyPrePass(m_core, &m_skyPrePass)) return false; - if (!loadComputePass(m_core, "resources/shaders/gammaCorrection.comp", &m_gammaCorrectionPass)) + if (!loadComputePass(m_core, "assets/shaders/gammaCorrection.comp", &m_gammaCorrectionPass)) return false; - if (!loadMesh(m_core, "resources/models/cube.gltf", &m_cubeMesh)) + if (!loadMesh(m_core, "assets/models/cube.gltf", &m_cubeMesh)) return false; - if (!loadMesh(m_core, "resources/models/ground.gltf", &m_groundMesh)) + if (!loadMesh(m_core, "assets/models/ground.gltf", &m_groundMesh)) return false; - if(!loadImage(m_core, "resources/models/grid.png", &m_gridTexture)) + if(!loadImage(m_core, "assets/models/grid.png", &m_gridTexture)) return false; if (!m_motionBlur.initialize(&m_core, m_windowWidth, m_windowHeight)) diff --git a/projects/indirect_dispatch/src/AppSetup.cpp b/projects/indirect_dispatch/src/AppSetup.cpp index 659ceffd55570db64cf26ed1597d8256c3b8efa0..729072cfabd2c7ac109b121ac4bc5e0304b9662e 100644 --- a/projects/indirect_dispatch/src/AppSetup.cpp +++ b/projects/indirect_dispatch/src/AppSetup.cpp @@ -166,8 +166,8 @@ bool loadMeshPass(vkcv::Core& core, GraphicPassHandles* outHandles) { return loadGraphicPass( core, - "resources/shaders/mesh.vert", - "resources/shaders/mesh.frag", + "assets/shaders/mesh.vert", + "assets/shaders/mesh.frag", vkcv::PassConfig({ colorAttachment, depthAttachment }), vkcv::DepthTest::Equal, outHandles); @@ -189,8 +189,8 @@ bool loadSkyPass(vkcv::Core& core, GraphicPassHandles* outHandles) { return loadGraphicPass( core, - "resources/shaders/sky.vert", - "resources/shaders/sky.frag", + "assets/shaders/sky.vert", + "assets/shaders/sky.frag", vkcv::PassConfig({ colorAttachment, depthAttachment }), vkcv::DepthTest::Equal, outHandles); @@ -211,8 +211,8 @@ bool loadPrePass(vkcv::Core& core, GraphicPassHandles* outHandles) { return loadGraphicPass( core, - "resources/shaders/prepass.vert", - "resources/shaders/prepass.frag", + "assets/shaders/prepass.vert", + "assets/shaders/prepass.frag", vkcv::PassConfig({ motionAttachment, depthAttachment }), vkcv::DepthTest::LessEqual, outHandles); @@ -233,8 +233,8 @@ bool loadSkyPrePass(vkcv::Core& core, GraphicPassHandles* outHandles) { return loadGraphicPass( core, - "resources/shaders/skyPrepass.vert", - "resources/shaders/skyPrepass.frag", + "assets/shaders/skyPrepass.vert", + "assets/shaders/skyPrepass.frag", vkcv::PassConfig({ motionAttachment, depthAttachment }), vkcv::DepthTest::LessEqual, outHandles); diff --git a/projects/indirect_dispatch/src/MotionBlur.cpp b/projects/indirect_dispatch/src/MotionBlur.cpp index 49f650a97e2fea5821959ae53f468e6fe7de6ffe..fea5b1d6f726851ad1d88e71301bffb0f6d71f4a 100644 --- a/projects/indirect_dispatch/src/MotionBlur.cpp +++ b/projects/indirect_dispatch/src/MotionBlur.cpp @@ -24,31 +24,31 @@ bool MotionBlur::initialize(vkcv::Core* corePtr, const uint32_t targetWidth, con m_core = corePtr; - if (!loadComputePass(*m_core, "resources/shaders/motionBlur.comp", &m_motionBlurPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionBlur.comp", &m_motionBlurPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionVectorMinMax.comp", &m_motionVectorMinMaxPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionVectorMinMax.comp", &m_motionVectorMinMaxPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionVectorMinMaxNeighbourhood.comp", &m_motionVectorMinMaxNeighbourhoodPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionVectorMinMaxNeighbourhood.comp", &m_motionVectorMinMaxNeighbourhoodPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionVectorVisualisation.comp", &m_motionVectorVisualisationPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionVectorVisualisation.comp", &m_motionVectorVisualisationPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionBlurColorCopy.comp", &m_colorCopyPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionBlurColorCopy.comp", &m_colorCopyPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionBlurTileClassification.comp", &m_tileClassificationPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionBlurTileClassification.comp", &m_tileClassificationPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionBlurWorkTileReset.comp", &m_tileResetPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionBlurWorkTileReset.comp", &m_tileResetPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionBlurTileClassificationVis.comp", &m_tileVisualisationPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionBlurTileClassificationVis.comp", &m_tileVisualisationPass)) return false; - if (!loadComputePass(*m_core, "resources/shaders/motionBlurFastPath.comp", &m_motionBlurFastPathPass)) + if (!loadComputePass(*m_core, "assets/shaders/motionBlurFastPath.comp", &m_motionBlurFastPathPass)) return false; // work tile buffers and descriptors diff --git a/projects/mesh_shader/resources/Bunny/Bunny.glb b/projects/mesh_shader/assets/Bunny/Bunny.glb similarity index 100% rename from projects/mesh_shader/resources/Bunny/Bunny.glb rename to projects/mesh_shader/assets/Bunny/Bunny.glb diff --git a/projects/mesh_shader/resources/monke.glb b/projects/mesh_shader/assets/monke.glb similarity index 100% rename from projects/mesh_shader/resources/monke.glb rename to projects/mesh_shader/assets/monke.glb diff --git a/projects/mesh_shader/resources/shaders/common.inc b/projects/mesh_shader/assets/shaders/common.inc similarity index 100% rename from projects/mesh_shader/resources/shaders/common.inc rename to projects/mesh_shader/assets/shaders/common.inc diff --git a/projects/mesh_shader/resources/shaders/meshlet.inc b/projects/mesh_shader/assets/shaders/meshlet.inc similarity index 100% rename from projects/mesh_shader/resources/shaders/meshlet.inc rename to projects/mesh_shader/assets/shaders/meshlet.inc diff --git a/projects/mesh_shader/resources/shaders/shader.frag b/projects/mesh_shader/assets/shaders/shader.frag similarity index 100% rename from projects/mesh_shader/resources/shaders/shader.frag rename to projects/mesh_shader/assets/shaders/shader.frag diff --git a/projects/mesh_shader/resources/shaders/shader.mesh b/projects/mesh_shader/assets/shaders/shader.mesh similarity index 100% rename from projects/mesh_shader/resources/shaders/shader.mesh rename to projects/mesh_shader/assets/shaders/shader.mesh diff --git a/projects/mesh_shader/resources/shaders/shader.task b/projects/mesh_shader/assets/shaders/shader.task similarity index 100% rename from projects/mesh_shader/resources/shaders/shader.task rename to projects/mesh_shader/assets/shaders/shader.task diff --git a/projects/mesh_shader/resources/shaders/shader.vert b/projects/mesh_shader/assets/shaders/shader.vert similarity index 100% rename from projects/mesh_shader/resources/shaders/shader.vert rename to projects/mesh_shader/assets/shaders/shader.vert diff --git a/projects/mesh_shader/src/main.cpp b/projects/mesh_shader/src/main.cpp index 600de22a8f94b37ee8fdf74256acc51aea2e07a9..c3f9210d371cc56a4220c094186faa51490da678 100644 --- a/projects/mesh_shader/src/main.cpp +++ b/projects/mesh_shader/src/main.cpp @@ -78,12 +78,10 @@ CameraPlanes computeCameraPlanes(const vkcv::camera::Camera& camera) { int main(int argc, const char** argv) { const char* applicationName = "Mesh shader"; - const int windowWidth = 1280; - const int windowHeight = 720; vkcv::Window window = vkcv::Window::create( applicationName, - windowWidth, - windowHeight, + 1280, + 720, false ); @@ -106,7 +104,7 @@ int main(int argc, const char** argv) { vkcv::gui::GUI gui (core, window); vkcv::asset::Scene mesh; - const char* path = argc > 1 ? argv[1] : "resources/Bunny/Bunny.glb"; + const char* path = argc > 1 ? argv[1] : "assets/Bunny/Bunny.glb"; vkcv::asset::loadScene(path, mesh); assert(!mesh.vertexGroups.empty()); @@ -188,12 +186,12 @@ int main(int argc, const char** argv) { vkcv::ShaderProgram bunnyShaderProgram{}; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/shader.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/shader.vert"), [&bunnyShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { bunnyShaderProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/shader.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/shader.frag"), [&bunnyShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { bunnyShaderProgram.addShader(shaderStage, path); }); @@ -208,10 +206,12 @@ int main(int argc, const char** argv) { vkcv::DescriptorSetLayoutHandle vertexShaderDescriptorSetLayout = core.createDescriptorSetLayout(bunnyShaderProgram.getReflectedDescriptors().at(0)); vkcv::DescriptorSetHandle vertexShaderDescriptorSet = core.createDescriptorSet(vertexShaderDescriptorSetLayout); + auto swapchainExtent = core.getSwapchain().getExtent(); + const vkcv::PipelineConfig bunnyPipelineDefinition { bunnyShaderProgram, - (uint32_t)windowWidth, - (uint32_t)windowHeight, + swapchainExtent.width, + swapchainExtent.height, renderPass, { bunnyLayout }, { core.getDescriptorSetLayout(vertexShaderDescriptorSetLayout).vulkanHandle }, @@ -239,17 +239,17 @@ int main(int argc, const char** argv) { // mesh shader vkcv::ShaderProgram meshShaderProgram; - compiler.compile(vkcv::ShaderStage::TASK, std::filesystem::path("resources/shaders/shader.task"), + compiler.compile(vkcv::ShaderStage::TASK, std::filesystem::path("assets/shaders/shader.task"), [&meshShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { meshShaderProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::MESH, std::filesystem::path("resources/shaders/shader.mesh"), + compiler.compile(vkcv::ShaderStage::MESH, std::filesystem::path("assets/shaders/shader.mesh"), [&meshShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { meshShaderProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/shader.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/shader.frag"), [&meshShaderProgram](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { meshShaderProgram.addShader(shaderStage, path); }); @@ -260,8 +260,8 @@ int main(int argc, const char** argv) { const vkcv::PipelineConfig meshShaderPipelineDefinition{ meshShaderProgram, - (uint32_t)windowWidth, - (uint32_t)windowHeight, + swapchainExtent.width, + swapchainExtent.height, renderPass, {meshShaderLayout}, {core.getDescriptorSetLayout(meshShaderDescriptorSetLayout).vulkanHandle}, @@ -292,7 +292,12 @@ int main(int argc, const char** argv) { core.writeDescriptorSet( meshShaderDescriptorSet, meshShaderWrites); - vkcv::ImageHandle depthBuffer = core.createImage(vk::Format::eD32Sfloat, windowWidth, windowHeight, 1, false).getHandle(); + vkcv::ImageHandle depthBuffer = core.createImage( + vk::Format::eD32Sfloat, + swapchainExtent.width, + swapchainExtent.height, + 1, false + ).getHandle(); auto start = std::chrono::system_clock::now(); diff --git a/projects/particle_simulation/src/main.cpp b/projects/particle_simulation/src/main.cpp index 4027ce7b2d6aabd72653efd35d76db971b90d0ae..b760d8762f5e51bcfc2058652260e24c2bc4f389 100644 --- a/projects/particle_simulation/src/main.cpp +++ b/projects/particle_simulation/src/main.cpp @@ -13,12 +13,10 @@ int main(int argc, const char **argv) { const char *applicationName = "Particlesystem"; - uint32_t windowWidth = 800; - uint32_t windowHeight = 600; vkcv::Window window = vkcv::Window::create( applicationName, - windowWidth, - windowHeight, + 800, + 600, true ); @@ -215,12 +213,23 @@ 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::ImageHandle colorBuffer = core.createImage(colorFormat, windowWidth, windowHeight, 1, false, true, true).getHandle(); - BloomAndFlares bloomAndFlares(&core, colorFormat, windowWidth, windowHeight); + auto swapchainExtent = core.getSwapchain().getExtent(); + + vkcv::ImageHandle colorBuffer = core.createImage( + colorFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, true, true + ).getHandle(); + BloomAndFlares bloomAndFlares(&core, colorFormat, swapchainExtent.width, swapchainExtent.height); window.e_resize.add([&](int width, int height) { - windowWidth = width; - windowHeight = height; - colorBuffer = core.createImage(colorFormat, windowWidth, windowHeight, 1, false, true, true).getHandle(); + swapchainExtent = core.getSwapchain().getExtent(); + colorBuffer = core.createImage( + colorFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, true, true + ).getHandle(); bloomAndFlares.updateImageDimensions(width, height); }); @@ -303,8 +312,8 @@ int main(int argc, const char **argv) { core.writeDescriptorSet(tonemappingDescriptor, tonemappingDescriptorWrites); uint32_t tonemappingDispatchCount[3]; - tonemappingDispatchCount[0] = std::ceil(windowWidth / 8.f); - tonemappingDispatchCount[1] = std::ceil(windowHeight / 8.f); + tonemappingDispatchCount[0] = std::ceil(swapchainExtent.width / 8.f); + tonemappingDispatchCount[1] = std::ceil(swapchainExtent.height / 8.f); tonemappingDispatchCount[2] = 1; core.recordComputeDispatchToCmdStream( diff --git a/projects/voxelization/resources/RadialLUT.png b/projects/voxelization/assets/RadialLUT.png similarity index 100% rename from projects/voxelization/resources/RadialLUT.png rename to projects/voxelization/assets/RadialLUT.png diff --git a/projects/voxelization/resources/Sponza/Sponza.bin b/projects/voxelization/assets/Sponza/Sponza.bin similarity index 100% rename from projects/voxelization/resources/Sponza/Sponza.bin rename to projects/voxelization/assets/Sponza/Sponza.bin diff --git a/projects/voxelization/resources/Sponza/Sponza.gltf b/projects/voxelization/assets/Sponza/Sponza.gltf similarity index 100% rename from projects/voxelization/resources/Sponza/Sponza.gltf rename to projects/voxelization/assets/Sponza/Sponza.gltf diff --git a/projects/voxelization/resources/Sponza/Textures/Arch_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Arch_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Arch_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Arch_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Arch_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Arch_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Arch_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Arch_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Arch_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Arch_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Arch_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Arch_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Background_Albedo.png b/projects/voxelization/assets/Sponza/Textures/Background_Albedo.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Background_Albedo.png rename to projects/voxelization/assets/Sponza/Textures/Background_Albedo.png diff --git a/projects/voxelization/resources/Sponza/Textures/Background_Normal.png b/projects/voxelization/assets/Sponza/Textures/Background_Normal.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Background_Normal.png rename to projects/voxelization/assets/Sponza/Textures/Background_Normal.png diff --git a/projects/voxelization/resources/Sponza/Textures/Background_Roughness.png b/projects/voxelization/assets/Sponza/Textures/Background_Roughness.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Background_Roughness.png rename to projects/voxelization/assets/Sponza/Textures/Background_Roughness.png diff --git a/projects/voxelization/resources/Sponza/Textures/Bricks_A_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Bricks_A_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Bricks_A_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Bricks_A_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Bricks_A_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Bricks_A_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Bricks_A_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Bricks_A_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Bricks_A_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Bricks_A_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Bricks_A_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Bricks_A_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Ceiling_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Ceiling_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Ceiling_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Ceiling_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Ceiling_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Ceiling_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Ceiling_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Ceiling_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Ceiling_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Ceiling_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Ceiling_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Ceiling_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Chain_Diff.png b/projects/voxelization/assets/Sponza/Textures/Chain_Diff.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Chain_Diff.png rename to projects/voxelization/assets/Sponza/Textures/Chain_Diff.png diff --git a/projects/voxelization/resources/Sponza/Textures/Chain_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Chain_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Chain_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Chain_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Cloth1_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Cloth1_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Cloth1_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Cloth1_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Cloth1_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Cloth1_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Cloth1_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Cloth1_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Cloth2_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Cloth2_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Cloth2_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Cloth2_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Cloth2_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Cloth2_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Cloth2_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Cloth2_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothBlue1_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/ClothBlue1_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothBlue1_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothBlue1_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothBlue2_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/ClothBlue2_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothBlue2_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothBlue2_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothBlue2_Diff_jpg.jpg b/projects/voxelization/assets/Sponza/Textures/ClothBlue2_Diff_jpg.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothBlue2_Diff_jpg.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothBlue2_Diff_jpg.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothGreen1_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/ClothGreen1_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothGreen1_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothGreen1_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothGreen2_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/ClothGreen2_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothGreen2_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothGreen2_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothRed1_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/ClothRed1_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothRed1_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothRed1_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/ClothRed2_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/ClothRed2_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/ClothRed2_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/ClothRed2_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_B_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Column_B_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_B_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_B_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_B_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Column_B_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_B_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_B_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_B_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Column_B_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_B_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_B_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_C_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Column_C_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_C_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_C_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_C_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Column_C_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_C_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_C_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_C_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Column_C_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_C_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_C_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Column_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Column_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Column_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Column_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Column_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Column_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Detail_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Detail_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Detail_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Detail_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Detail_norm.jpg b/projects/voxelization/assets/Sponza/Textures/Detail_norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Detail_norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Detail_norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Detail_spec.jpg b/projects/voxelization/assets/Sponza/Textures/Detail_spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Detail_spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Detail_spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Fill_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Fill_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Fill_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Fill_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Flagpole_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Flagpole_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Flagpole_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Flagpole_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Flagpole_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Flagpole_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Flagpole_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Flagpole_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Flagpole_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Flagpole_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Flagpole_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Flagpole_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Floor_A_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Floor_A_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Floor_A_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Floor_A_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Floor_A_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Floor_A_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Floor_A_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Floor_A_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Floor_A_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Floor_A_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Floor_A_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Floor_A_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Flower_Diff.png b/projects/voxelization/assets/Sponza/Textures/Flower_Diff.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Flower_Diff.png rename to projects/voxelization/assets/Sponza/Textures/Flower_Diff.png diff --git a/projects/voxelization/resources/Sponza/Textures/Flower_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Flower_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Flower_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Flower_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Flower_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Flower_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Flower_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Flower_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Lion_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Lion_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Lion_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Lion_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Lion_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Lion_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Lion_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Lion_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Lion_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Lion_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Lion_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Lion_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Roof_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Roof_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Roof_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Roof_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Roof_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Roof_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Roof_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Roof_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Roof_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Roof_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Roof_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Roof_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Shield_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Shield_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Shield_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Shield_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Shield_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Shield_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Shield_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Shield_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Shield_diff.jpg b/projects/voxelization/assets/Sponza/Textures/Shield_diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Shield_diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Shield_diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Thorn_Diff.png b/projects/voxelization/assets/Sponza/Textures/Thorn_Diff.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Thorn_Diff.png rename to projects/voxelization/assets/Sponza/Textures/Thorn_Diff.png diff --git a/projects/voxelization/resources/Sponza/Textures/Thorn_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Thorn_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Thorn_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Thorn_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Thorn_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Thorn_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Thorn_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Thorn_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/VaseRound_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/VaseRound_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/VaseRound_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/VaseRound_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/VaseRound_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/VaseRound_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/VaseRound_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/VaseRound_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/VaseRound_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/VaseRound_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/VaseRound_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/VaseRound_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Vase_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Vase_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Vase_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Vase_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Vase_Hanging_Diff.jpg b/projects/voxelization/assets/Sponza/Textures/Vase_Hanging_Diff.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Vase_Hanging_Diff.jpg rename to projects/voxelization/assets/Sponza/Textures/Vase_Hanging_Diff.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Vase_Hanging_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Vase_Hanging_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Vase_Hanging_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Vase_Hanging_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Vase_Hanging_Spec.jpg b/projects/voxelization/assets/Sponza/Textures/Vase_Hanging_Spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Vase_Hanging_Spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Vase_Hanging_Spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Vase_Norm.jpg b/projects/voxelization/assets/Sponza/Textures/Vase_Norm.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Vase_Norm.jpg rename to projects/voxelization/assets/Sponza/Textures/Vase_Norm.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/Vase_spec.jpg b/projects/voxelization/assets/Sponza/Textures/Vase_spec.jpg similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/Vase_spec.jpg rename to projects/voxelization/assets/Sponza/Textures/Vase_spec.jpg diff --git a/projects/voxelization/resources/Sponza/Textures/white.png b/projects/voxelization/assets/Sponza/Textures/white.png similarity index 100% rename from projects/voxelization/resources/Sponza/Textures/white.png rename to projects/voxelization/assets/Sponza/Textures/white.png diff --git a/projects/voxelization/resources/cube/boards2_vcyc_jpg.jpg b/projects/voxelization/assets/cube/boards2_vcyc_jpg.jpg similarity index 100% rename from projects/voxelization/resources/cube/boards2_vcyc_jpg.jpg rename to projects/voxelization/assets/cube/boards2_vcyc_jpg.jpg diff --git a/projects/voxelization/resources/cube/cube.bin b/projects/voxelization/assets/cube/cube.bin similarity index 100% rename from projects/voxelization/resources/cube/cube.bin rename to projects/voxelization/assets/cube/cube.bin diff --git a/projects/voxelization/resources/cube/cube.blend b/projects/voxelization/assets/cube/cube.blend similarity index 100% rename from projects/voxelization/resources/cube/cube.blend rename to projects/voxelization/assets/cube/cube.blend diff --git a/projects/voxelization/resources/cube/cube.blend1 b/projects/voxelization/assets/cube/cube.blend1 similarity index 100% rename from projects/voxelization/resources/cube/cube.blend1 rename to projects/voxelization/assets/cube/cube.blend1 diff --git a/projects/voxelization/resources/cube/cube.glb b/projects/voxelization/assets/cube/cube.glb similarity index 100% rename from projects/voxelization/resources/cube/cube.glb rename to projects/voxelization/assets/cube/cube.glb diff --git a/projects/voxelization/resources/cube/cube.gltf b/projects/voxelization/assets/cube/cube.gltf similarity index 100% rename from projects/voxelization/resources/cube/cube.gltf rename to projects/voxelization/assets/cube/cube.gltf diff --git a/projects/voxelization/resources/lensDirt.jpg b/projects/voxelization/assets/lensDirt.jpg similarity index 100% rename from projects/voxelization/resources/lensDirt.jpg rename to projects/voxelization/assets/lensDirt.jpg diff --git a/projects/voxelization/resources/shaders/bloomDownsample.comp b/projects/voxelization/assets/shaders/bloomDownsample.comp similarity index 100% rename from projects/voxelization/resources/shaders/bloomDownsample.comp rename to projects/voxelization/assets/shaders/bloomDownsample.comp diff --git a/projects/voxelization/resources/shaders/bloomFlaresComposite.comp b/projects/voxelization/assets/shaders/bloomFlaresComposite.comp similarity index 100% rename from projects/voxelization/resources/shaders/bloomFlaresComposite.comp rename to projects/voxelization/assets/shaders/bloomFlaresComposite.comp diff --git a/projects/voxelization/resources/shaders/bloomUpsample.comp b/projects/voxelization/assets/shaders/bloomUpsample.comp similarity index 100% rename from projects/voxelization/resources/shaders/bloomUpsample.comp rename to projects/voxelization/assets/shaders/bloomUpsample.comp diff --git a/projects/voxelization/resources/shaders/brdf.inc b/projects/voxelization/assets/shaders/brdf.inc similarity index 100% rename from projects/voxelization/resources/shaders/brdf.inc rename to projects/voxelization/assets/shaders/brdf.inc diff --git a/projects/voxelization/resources/shaders/depthPrepass.frag b/projects/voxelization/assets/shaders/depthPrepass.frag similarity index 100% rename from projects/voxelization/resources/shaders/depthPrepass.frag rename to projects/voxelization/assets/shaders/depthPrepass.frag diff --git a/projects/voxelization/resources/shaders/depthPrepass.vert b/projects/voxelization/assets/shaders/depthPrepass.vert similarity index 100% rename from projects/voxelization/resources/shaders/depthPrepass.vert rename to projects/voxelization/assets/shaders/depthPrepass.vert diff --git a/projects/voxelization/resources/shaders/depthToMoments.comp b/projects/voxelization/assets/shaders/depthToMoments.comp similarity index 100% rename from projects/voxelization/resources/shaders/depthToMoments.comp rename to projects/voxelization/assets/shaders/depthToMoments.comp diff --git a/projects/voxelization/resources/shaders/lensFlares.comp b/projects/voxelization/assets/shaders/lensFlares.comp similarity index 100% rename from projects/voxelization/resources/shaders/lensFlares.comp rename to projects/voxelization/assets/shaders/lensFlares.comp diff --git a/projects/voxelization/resources/shaders/lightInfo.inc b/projects/voxelization/assets/shaders/lightInfo.inc similarity index 100% rename from projects/voxelization/resources/shaders/lightInfo.inc rename to projects/voxelization/assets/shaders/lightInfo.inc diff --git a/projects/voxelization/resources/shaders/luma.inc b/projects/voxelization/assets/shaders/luma.inc similarity index 100% rename from projects/voxelization/resources/shaders/luma.inc rename to projects/voxelization/assets/shaders/luma.inc diff --git a/projects/voxelization/resources/shaders/msaa4XResolve.comp b/projects/voxelization/assets/shaders/msaa4XResolve.comp similarity index 100% rename from projects/voxelization/resources/shaders/msaa4XResolve.comp rename to projects/voxelization/assets/shaders/msaa4XResolve.comp diff --git a/projects/voxelization/resources/shaders/perMeshResources.inc b/projects/voxelization/assets/shaders/perMeshResources.inc similarity index 100% rename from projects/voxelization/resources/shaders/perMeshResources.inc rename to projects/voxelization/assets/shaders/perMeshResources.inc diff --git a/projects/voxelization/resources/shaders/postEffects.comp b/projects/voxelization/assets/shaders/postEffects.comp similarity index 100% rename from projects/voxelization/resources/shaders/postEffects.comp rename to projects/voxelization/assets/shaders/postEffects.comp diff --git a/projects/voxelization/resources/shaders/shader.frag b/projects/voxelization/assets/shaders/shader.frag similarity index 100% rename from projects/voxelization/resources/shaders/shader.frag rename to projects/voxelization/assets/shaders/shader.frag diff --git a/projects/voxelization/resources/shaders/shader.vert b/projects/voxelization/assets/shaders/shader.vert similarity index 100% rename from projects/voxelization/resources/shaders/shader.vert rename to projects/voxelization/assets/shaders/shader.vert diff --git a/projects/voxelization/resources/shaders/shadow.frag b/projects/voxelization/assets/shaders/shadow.frag similarity index 100% rename from projects/voxelization/resources/shaders/shadow.frag rename to projects/voxelization/assets/shaders/shadow.frag diff --git a/projects/voxelization/resources/shaders/shadow.vert b/projects/voxelization/assets/shaders/shadow.vert similarity index 100% rename from projects/voxelization/resources/shaders/shadow.vert rename to projects/voxelization/assets/shaders/shadow.vert diff --git a/projects/voxelization/resources/shaders/shadowBlur.inc b/projects/voxelization/assets/shaders/shadowBlur.inc similarity index 100% rename from projects/voxelization/resources/shaders/shadowBlur.inc rename to projects/voxelization/assets/shaders/shadowBlur.inc diff --git a/projects/voxelization/resources/shaders/shadowBlurX.comp b/projects/voxelization/assets/shaders/shadowBlurX.comp similarity index 100% rename from projects/voxelization/resources/shaders/shadowBlurX.comp rename to projects/voxelization/assets/shaders/shadowBlurX.comp diff --git a/projects/voxelization/resources/shaders/shadowBlurY.comp b/projects/voxelization/assets/shaders/shadowBlurY.comp similarity index 100% rename from projects/voxelization/resources/shaders/shadowBlurY.comp rename to projects/voxelization/assets/shaders/shadowBlurY.comp diff --git a/projects/voxelization/resources/shaders/shadowMapping.inc b/projects/voxelization/assets/shaders/shadowMapping.inc similarity index 100% rename from projects/voxelization/resources/shaders/shadowMapping.inc rename to projects/voxelization/assets/shaders/shadowMapping.inc diff --git a/projects/voxelization/resources/shaders/sky.frag b/projects/voxelization/assets/shaders/sky.frag similarity index 100% rename from projects/voxelization/resources/shaders/sky.frag rename to projects/voxelization/assets/shaders/sky.frag diff --git a/projects/voxelization/resources/shaders/sky.vert b/projects/voxelization/assets/shaders/sky.vert similarity index 100% rename from projects/voxelization/resources/shaders/sky.vert rename to projects/voxelization/assets/shaders/sky.vert diff --git a/projects/voxelization/resources/shaders/tonemapping.comp b/projects/voxelization/assets/shaders/tonemapping.comp similarity index 100% rename from projects/voxelization/resources/shaders/tonemapping.comp rename to projects/voxelization/assets/shaders/tonemapping.comp diff --git a/projects/voxelization/resources/shaders/voxel.inc b/projects/voxelization/assets/shaders/voxel.inc similarity index 100% rename from projects/voxelization/resources/shaders/voxel.inc rename to projects/voxelization/assets/shaders/voxel.inc diff --git a/projects/voxelization/resources/shaders/voxelBufferToImage.comp b/projects/voxelization/assets/shaders/voxelBufferToImage.comp similarity index 100% rename from projects/voxelization/resources/shaders/voxelBufferToImage.comp rename to projects/voxelization/assets/shaders/voxelBufferToImage.comp diff --git a/projects/voxelization/resources/shaders/voxelReset.comp b/projects/voxelization/assets/shaders/voxelReset.comp similarity index 100% rename from projects/voxelization/resources/shaders/voxelReset.comp rename to projects/voxelization/assets/shaders/voxelReset.comp diff --git a/projects/voxelization/resources/shaders/voxelSecondaryBounce.comp b/projects/voxelization/assets/shaders/voxelSecondaryBounce.comp similarity index 100% rename from projects/voxelization/resources/shaders/voxelSecondaryBounce.comp rename to projects/voxelization/assets/shaders/voxelSecondaryBounce.comp diff --git a/projects/voxelization/resources/shaders/voxelVisualisation.frag b/projects/voxelization/assets/shaders/voxelVisualisation.frag similarity index 100% rename from projects/voxelization/resources/shaders/voxelVisualisation.frag rename to projects/voxelization/assets/shaders/voxelVisualisation.frag diff --git a/projects/voxelization/resources/shaders/voxelVisualisation.geom b/projects/voxelization/assets/shaders/voxelVisualisation.geom similarity index 100% rename from projects/voxelization/resources/shaders/voxelVisualisation.geom rename to projects/voxelization/assets/shaders/voxelVisualisation.geom diff --git a/projects/voxelization/resources/shaders/voxelVisualisation.vert b/projects/voxelization/assets/shaders/voxelVisualisation.vert similarity index 100% rename from projects/voxelization/resources/shaders/voxelVisualisation.vert rename to projects/voxelization/assets/shaders/voxelVisualisation.vert diff --git a/projects/voxelization/resources/shaders/voxelization.frag b/projects/voxelization/assets/shaders/voxelization.frag similarity index 100% rename from projects/voxelization/resources/shaders/voxelization.frag rename to projects/voxelization/assets/shaders/voxelization.frag diff --git a/projects/voxelization/resources/shaders/voxelization.geom b/projects/voxelization/assets/shaders/voxelization.geom similarity index 100% rename from projects/voxelization/resources/shaders/voxelization.geom rename to projects/voxelization/assets/shaders/voxelization.geom diff --git a/projects/voxelization/resources/shaders/voxelization.vert b/projects/voxelization/assets/shaders/voxelization.vert similarity index 100% rename from projects/voxelization/resources/shaders/voxelization.vert rename to projects/voxelization/assets/shaders/voxelization.vert diff --git a/projects/voxelization/resources/triangle/Triangle.bin b/projects/voxelization/assets/triangle/Triangle.bin similarity index 100% rename from projects/voxelization/resources/triangle/Triangle.bin rename to projects/voxelization/assets/triangle/Triangle.bin diff --git a/projects/voxelization/resources/triangle/Triangle.blend b/projects/voxelization/assets/triangle/Triangle.blend similarity index 100% rename from projects/voxelization/resources/triangle/Triangle.blend rename to projects/voxelization/assets/triangle/Triangle.blend diff --git a/projects/voxelization/resources/triangle/Triangle.glb b/projects/voxelization/assets/triangle/Triangle.glb similarity index 100% rename from projects/voxelization/resources/triangle/Triangle.glb rename to projects/voxelization/assets/triangle/Triangle.glb diff --git a/projects/voxelization/resources/triangle/Triangle.gltf b/projects/voxelization/assets/triangle/Triangle.gltf similarity index 100% rename from projects/voxelization/resources/triangle/Triangle.gltf rename to projects/voxelization/assets/triangle/Triangle.gltf diff --git a/projects/voxelization/src/BloomAndFlares.cpp b/projects/voxelization/src/BloomAndFlares.cpp index 1837ffe0f16500e18e2c013c5c74ac0e10ef6221..6a7eae3b90e83722a7a1c45ed95e96d4291b28ec 100644 --- a/projects/voxelization/src/BloomAndFlares.cpp +++ b/projects/voxelization/src/BloomAndFlares.cpp @@ -3,7 +3,7 @@ #include <vkcv/asset/asset_loader.hpp> vkcv::Image loadLenseDirtTexture(vkcv::Core* corePtr) { - const auto texture = vkcv::asset::loadTexture("resources/lensDirt.jpg"); + const auto texture = vkcv::asset::loadTexture("assets/lensDirt.jpg"); vkcv::Image image = corePtr->createImage(vk::Format::eR8G8B8A8Unorm, texture.width, texture.height); image.fill((void*)texture.data.data(), texture.data.size()); return image; @@ -37,7 +37,7 @@ BloomAndFlares::BloomAndFlares( // DOWNSAMPLE vkcv::ShaderProgram dsProg; compiler.compile(vkcv::ShaderStage::COMPUTE, - "resources/shaders/bloomDownsample.comp", + "assets/shaders/bloomDownsample.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { dsProg.addShader(shaderStage, path); @@ -55,7 +55,7 @@ BloomAndFlares::BloomAndFlares( // UPSAMPLE vkcv::ShaderProgram usProg; compiler.compile(vkcv::ShaderStage::COMPUTE, - "resources/shaders/bloomUpsample.comp", + "assets/shaders/bloomUpsample.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { usProg.addShader(shaderStage, path); @@ -80,7 +80,7 @@ BloomAndFlares::BloomAndFlares( // LENS FEATURES vkcv::ShaderProgram lensProg; compiler.compile(vkcv::ShaderStage::COMPUTE, - "resources/shaders/lensFlares.comp", + "assets/shaders/lensFlares.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { lensProg.addShader(shaderStage, path); @@ -93,7 +93,7 @@ BloomAndFlares::BloomAndFlares( // COMPOSITE vkcv::ShaderProgram compProg; compiler.compile(vkcv::ShaderStage::COMPUTE, - "resources/shaders/bloomFlaresComposite.comp", + "assets/shaders/bloomFlaresComposite.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { compProg.addShader(shaderStage, path); @@ -105,7 +105,7 @@ BloomAndFlares::BloomAndFlares( compProg, { p_Core->getDescriptorSetLayout(m_CompositeDescSetLayout).vulkanHandle }); // radial LUT - const auto texture = vkcv::asset::loadTexture("resources/RadialLUT.png"); + const auto texture = vkcv::asset::loadTexture("assets/RadialLUT.png"); m_radialLut.fill((void*)texture.data.data(), texture.data.size()); } diff --git a/projects/voxelization/src/ShadowMapping.cpp b/projects/voxelization/src/ShadowMapping.cpp index 109da9a3b11023e9ba3734b09030d1b910050173..47358bbfbc25f3449fdd9748986fc16693f7f769 100644 --- a/projects/voxelization/src/ShadowMapping.cpp +++ b/projects/voxelization/src/ShadowMapping.cpp @@ -9,11 +9,11 @@ const vkcv::Multisampling msaa = vkcv::Multisampling::MSAA8 vkcv::ShaderProgram loadShadowShader() { vkcv::ShaderProgram shader; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::VERTEX, "resources/shaders/shadow.vert", + compiler.compile(vkcv::ShaderStage::VERTEX, "assets/shaders/shadow.vert", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, "resources/shaders/shadow.frag", + compiler.compile(vkcv::ShaderStage::FRAGMENT, "assets/shaders/shadow.frag", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -23,7 +23,7 @@ vkcv::ShaderProgram loadShadowShader() { vkcv::ShaderProgram loadDepthToMomentsShader() { vkcv::ShaderProgram shader; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/depthToMoments.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/depthToMoments.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -33,7 +33,7 @@ vkcv::ShaderProgram loadDepthToMomentsShader() { vkcv::ShaderProgram loadShadowBlurXShader() { vkcv::ShaderProgram shader; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/shadowBlurX.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/shadowBlurX.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -43,7 +43,7 @@ vkcv::ShaderProgram loadShadowBlurXShader() { vkcv::ShaderProgram loadShadowBlurYShader() { vkcv::ShaderProgram shader; vkcv::shader::GLSLCompiler compiler; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/shadowBlurY.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/shadowBlurY.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); diff --git a/projects/voxelization/src/Voxelization.cpp b/projects/voxelization/src/Voxelization.cpp index 139851870a6dc3bb7a5aca9f926504cdfc571f40..53232417a0f6a5722aa25e15aa26083c25898d9a 100644 --- a/projects/voxelization/src/Voxelization.cpp +++ b/projects/voxelization/src/Voxelization.cpp @@ -6,15 +6,15 @@ vkcv::ShaderProgram loadVoxelizationShader() { vkcv::shader::GLSLCompiler compiler; vkcv::ShaderProgram shader; - compiler.compile(vkcv::ShaderStage::VERTEX, "resources/shaders/voxelization.vert", + compiler.compile(vkcv::ShaderStage::VERTEX, "assets/shaders/voxelization.vert", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::GEOMETRY, "resources/shaders/voxelization.geom", + compiler.compile(vkcv::ShaderStage::GEOMETRY, "assets/shaders/voxelization.geom", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, "resources/shaders/voxelization.frag", + compiler.compile(vkcv::ShaderStage::FRAGMENT, "assets/shaders/voxelization.frag", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -24,15 +24,15 @@ vkcv::ShaderProgram loadVoxelizationShader() { vkcv::ShaderProgram loadVoxelVisualisationShader() { vkcv::shader::GLSLCompiler compiler; vkcv::ShaderProgram shader; - compiler.compile(vkcv::ShaderStage::VERTEX, "resources/shaders/voxelVisualisation.vert", + compiler.compile(vkcv::ShaderStage::VERTEX, "assets/shaders/voxelVisualisation.vert", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::GEOMETRY, "resources/shaders/voxelVisualisation.geom", + compiler.compile(vkcv::ShaderStage::GEOMETRY, "assets/shaders/voxelVisualisation.geom", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, "resources/shaders/voxelVisualisation.frag", + compiler.compile(vkcv::ShaderStage::FRAGMENT, "assets/shaders/voxelVisualisation.frag", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -42,7 +42,7 @@ vkcv::ShaderProgram loadVoxelVisualisationShader() { vkcv::ShaderProgram loadVoxelResetShader() { vkcv::shader::GLSLCompiler compiler; vkcv::ShaderProgram shader; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/voxelReset.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/voxelReset.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -52,7 +52,7 @@ vkcv::ShaderProgram loadVoxelResetShader() { vkcv::ShaderProgram loadVoxelBufferToImageShader() { vkcv::shader::GLSLCompiler compiler; vkcv::ShaderProgram shader; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/voxelBufferToImage.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/voxelBufferToImage.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); @@ -62,7 +62,7 @@ vkcv::ShaderProgram loadVoxelBufferToImageShader() { vkcv::ShaderProgram loadSecondaryBounceShader() { vkcv::shader::GLSLCompiler compiler; vkcv::ShaderProgram shader; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/voxelSecondaryBounce.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/voxelSecondaryBounce.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { shader.addShader(shaderStage, path); }); diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp index fe962ff3036c12734ab6d82e034499ab89312b37..df6e2e99d1fe4e1978eb209490fdcad6d25b987f 100644 --- a/projects/voxelization/src/main.cpp +++ b/projects/voxelization/src/main.cpp @@ -15,21 +15,19 @@ int main(int argc, const char** argv) { const char* applicationName = "Voxelization"; - uint32_t windowWidth = 1280; - uint32_t windowHeight = 720; const vkcv::Multisampling msaa = vkcv::Multisampling::MSAA4X; const bool usingMsaa = msaa != vkcv::Multisampling::None; vkcv::Window window = vkcv::Window::create( applicationName, - windowWidth, - windowHeight, + 1280, + 720, true ); bool isFullscreen = false; - uint32_t windowedWidthBackup = windowWidth; - uint32_t windowedHeightBackup = windowHeight; + uint32_t windowedWidthBackup = window.getWidth(); + uint32_t windowedHeightBackup = window.getHeight(); int windowedPosXBackup; int windowedPosYBackup; glfwGetWindowPos(window.getWindow(), &windowedPosXBackup, &windowedPosYBackup); @@ -47,8 +45,8 @@ int main(int argc, const char** argv) { GLFW_DONT_CARE); } else { - windowedWidthBackup = windowWidth; - windowedHeightBackup = windowHeight; + windowedWidthBackup = window.getWidth(); + windowedHeightBackup = window.getHeight(); glfwGetWindowPos(window.getWindow(), &windowedPosXBackup, &windowedPosYBackup); @@ -94,7 +92,7 @@ int main(int argc, const char** argv) { vkcv::asset::Scene mesh; - const char* path = argc > 1 ? argv[1] : "resources/Sponza/Sponza.gltf"; + const char* path = argc > 1 ? argv[1] : "assets/Sponza/Sponza.gltf"; vkcv::asset::Scene scene; int result = vkcv::asset::loadScene(path, scene); @@ -175,11 +173,11 @@ int main(int argc, const char** argv) { vkcv::shader::GLSLCompiler compiler; vkcv::ShaderProgram forwardProgram; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/shader.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/shader.vert"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { forwardProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/shader.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/shader.frag"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { forwardProgram.addShader(shaderStage, path); }); @@ -197,11 +195,11 @@ int main(int argc, const char** argv) { // depth prepass config vkcv::ShaderProgram depthPrepassShader; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/depthPrepass.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/depthPrepass.vert"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { depthPrepassShader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/depthPrepass.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/depthPrepass.frag"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { depthPrepassShader.addShader(shaderStage, path); }); @@ -303,10 +301,12 @@ int main(int argc, const char** argv) { vkcv::DescriptorSetLayoutHandle prepassDescriptorSetLayout = core.createDescriptorSetLayout({}); vkcv::DescriptorSetHandle prepassDescriptorSet = core.createDescriptorSet(prepassDescriptorSetLayout); + auto swapchainExtent = core.getSwapchain().getExtent(); + vkcv::PipelineConfig prepassPipelineConfig{ depthPrepassShader, - windowWidth, - windowHeight, + swapchainExtent.width, + swapchainExtent.height, prepassPass, vertexLayout, { @@ -323,8 +323,8 @@ int main(int argc, const char** argv) { // forward pipeline vkcv::PipelineConfig forwardPipelineConfig { forwardProgram, - windowWidth, - windowHeight, + swapchainExtent.width, + swapchainExtent.height, forwardPass, vertexLayout, { @@ -367,19 +367,19 @@ int main(int argc, const char** argv) { vkcv::PassHandle skyPass = core.createPass(skyPassConfig); vkcv::ShaderProgram skyShader; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/sky.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/sky.vert"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { skyShader.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/sky.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/sky.frag"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { skyShader.addShader(shaderStage, path); }); vkcv::PipelineConfig skyPipeConfig; skyPipeConfig.m_ShaderProgram = skyShader; - skyPipeConfig.m_Width = windowWidth; - skyPipeConfig.m_Height = windowHeight; + skyPipeConfig.m_Width = swapchainExtent.width; + skyPipeConfig.m_Height = swapchainExtent.height; skyPipeConfig.m_PassHandle = skyPass; skyPipeConfig.m_VertexLayout = vkcv::VertexLayout(); skyPipeConfig.m_DescriptorLayouts = {}; @@ -390,21 +390,47 @@ int main(int argc, const char** argv) { vkcv::PipelineHandle skyPipe = core.createGraphicsPipeline(skyPipeConfig); // render targets - vkcv::ImageHandle depthBuffer = core.createImage(depthBufferFormat, windowWidth, windowHeight, 1, false, false, false, msaa).getHandle(); + vkcv::ImageHandle depthBuffer = core.createImage( + depthBufferFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, false, false, msaa + ).getHandle(); const bool colorBufferRequiresStorage = !usingMsaa; - vkcv::ImageHandle colorBuffer = core.createImage(colorBufferFormat, windowWidth, windowHeight, 1, false, colorBufferRequiresStorage, true, msaa).getHandle(); + vkcv::ImageHandle colorBuffer = core.createImage( + colorBufferFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, colorBufferRequiresStorage, true, msaa + ).getHandle(); vkcv::ImageHandle resolvedColorBuffer; if (usingMsaa) { - resolvedColorBuffer = core.createImage(colorBufferFormat, windowWidth, windowHeight, 1, false, true, true).getHandle(); + resolvedColorBuffer = core.createImage( + colorBufferFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, true, true + ).getHandle(); } else { resolvedColorBuffer = colorBuffer; } - vkcv::ImageHandle swapBuffer = core.createImage(colorBufferFormat, windowWidth, windowHeight, 1, false, true).getHandle(); - vkcv::ImageHandle swapBuffer2 = core.createImage(colorBufferFormat, windowWidth, windowHeight, 1, false, true).getHandle(); + vkcv::ImageHandle swapBuffer = core.createImage( + colorBufferFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, true + ).getHandle(); + + vkcv::ImageHandle swapBuffer2 = core.createImage( + colorBufferFormat, + swapchainExtent.width, + swapchainExtent.height, + 1, false, true + ).getHandle(); const vkcv::ImageHandle swapchainInput = vkcv::ImageHandle::createSwapchainImageHandle(); @@ -424,7 +450,7 @@ int main(int argc, const char** argv) { // tonemapping compute shader vkcv::ShaderProgram tonemappingProgram; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/tonemapping.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/tonemapping.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { tonemappingProgram.addShader(shaderStage, path); }); @@ -437,7 +463,7 @@ int main(int argc, const char** argv) { // tonemapping compute shader vkcv::ShaderProgram postEffectsProgram; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/postEffects.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/postEffects.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { postEffectsProgram.addShader(shaderStage, path); }); @@ -450,7 +476,7 @@ int main(int argc, const char** argv) { // resolve compute shader vkcv::ShaderProgram resolveProgram; - compiler.compile(vkcv::ShaderStage::COMPUTE, "resources/shaders/msaa4XResolve.comp", + compiler.compile(vkcv::ShaderStage::COMPUTE, "assets/shaders/msaa4XResolve.comp", [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { resolveProgram.addShader(shaderStage, path); }); @@ -519,11 +545,11 @@ int main(int argc, const char** argv) { voxelSampler, msaa); - BloomAndFlares bloomFlares(&core, colorBufferFormat, windowWidth, windowHeight); + BloomAndFlares bloomFlares(&core, colorBufferFormat, swapchainExtent.width, swapchainExtent.height); window.e_key.add([&](int key, int scancode, int action, int mods) { if (key == GLFW_KEY_R && action == GLFW_PRESS) { - bloomFlares = BloomAndFlares(&core, colorBufferFormat, windowWidth, windowHeight); + bloomFlares = BloomAndFlares(&core, colorBufferFormat, swapchainExtent.width, swapchainExtent.height); } }); @@ -553,7 +579,7 @@ int main(int argc, const char** argv) { core.writeDescriptorSet(forwardShadingDescriptorSet, forwardDescriptorWrites); vkcv::upscaling::FSRUpscaling upscaling (core); - uint32_t fsrWidth = windowWidth, fsrHeight = windowHeight; + uint32_t fsrWidth = swapchainExtent.width, fsrHeight = swapchainExtent.height; vkcv::upscaling::FSRQualityMode fsrMode = vkcv::upscaling::FSRQualityMode::NONE; int fsrModeIndex = static_cast<int>(fsrMode); @@ -923,11 +949,11 @@ int main(int argc, const char** argv) { if (ImGui::Button("Reload forward pass")) { vkcv::ShaderProgram newForwardProgram; - compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("resources/shaders/shader.vert"), + compiler.compile(vkcv::ShaderStage::VERTEX, std::filesystem::path("assets/shaders/shader.vert"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { newForwardProgram.addShader(shaderStage, path); }); - compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("resources/shaders/shader.frag"), + compiler.compile(vkcv::ShaderStage::FRAGMENT, std::filesystem::path("assets/shaders/shader.frag"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { newForwardProgram.addShader(shaderStage, path); }); @@ -941,7 +967,7 @@ int main(int argc, const char** argv) { if (ImGui::Button("Reload tonemapping")) { vkcv::ShaderProgram newProgram; - compiler.compile(vkcv::ShaderStage::COMPUTE, std::filesystem::path("resources/shaders/tonemapping.comp"), + compiler.compile(vkcv::ShaderStage::COMPUTE, std::filesystem::path("assets/shaders/tonemapping.comp"), [&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) { newProgram.addShader(shaderStage, path); }); diff --git a/src/vkcv/Context.cpp b/src/vkcv/Context.cpp index f48fad1a9022cbf99f6452c319d629060befbd98..738549eeec391d8032f9b079941bdb5da55fb3b6 100644 --- a/src/vkcv/Context.cpp +++ b/src/vkcv/Context.cpp @@ -261,6 +261,10 @@ namespace vkcv FeatureManager featureManager (physicalDevice); +#ifdef __APPLE__ + featureManager.useExtension("VK_KHR_portability_subset", true); +#endif + if (featureManager.useExtension(VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, false)) { featureManager.useFeatures<vk::PhysicalDeviceShaderFloat16Int8Features>( [](vk::PhysicalDeviceShaderFloat16Int8Features& features) {