diff --git a/modules/material/src/vkcv/material/Material.cpp b/modules/material/src/vkcv/material/Material.cpp index ba6411cc72b7732307363befa3e0b7759c2d65d0..d16555add772d4e3364dad2a6f5a67671f1138d8 100644 --- a/modules/material/src/vkcv/material/Material.cpp +++ b/modules/material/src/vkcv/material/Material.cpp @@ -21,10 +21,11 @@ namespace vkcv::material { const std::vector<DescriptorBinding>& Material::getDescriptorBindings(MaterialType type) { + static std::vector<DescriptorBinding> pbr_bindings; + static std::vector<DescriptorBinding> default_bindings; + switch (type) { case MaterialType::PBR_MATERIAL: - static std::vector<DescriptorBinding> pbr_bindings; - if (pbr_bindings.empty()) { pbr_bindings.emplace_back(0, DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT); pbr_bindings.emplace_back(1, DescriptorType::SAMPLER, 1, ShaderStage::FRAGMENT); @@ -40,7 +41,6 @@ namespace vkcv::material { return pbr_bindings; default: - static std::vector<DescriptorBinding> default_bindings; return default_bindings; } }