From 8b21b9ae415a167d9587cf29a72e9caf14620231 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Tue, 22 Jun 2021 23:37:57 +0200 Subject: [PATCH] [#57] Fixed compiler errors Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- .../vkcv/material/pbrMetallicRoughness.hpp | 4 +++ .../vkcv/material/pbrMetallicRoughness.cpp | 26 ++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/modules/material/include/vkcv/material/pbrMetallicRoughness.hpp b/modules/material/include/vkcv/material/pbrMetallicRoughness.hpp index cc97700f..55d6eb20 100644 --- a/modules/material/include/vkcv/material/pbrMetallicRoughness.hpp +++ b/modules/material/include/vkcv/material/pbrMetallicRoughness.hpp @@ -89,6 +89,10 @@ namespace vkcv::material SamplerHandle &normalSmp, ImageHandle &metRoughImg, SamplerHandle &metRoughSmp, + ImageHandle &occlusionImg, + SamplerHandle &occlusionSmp, + ImageHandle &emissiveImg, + SamplerHandle &emissiveSmp, vec4 baseColorFactor, float metallicFactor, float roughnessFactor, diff --git a/modules/material/src/vkcv/material/pbrMetallicRoughness.cpp b/modules/material/src/vkcv/material/pbrMetallicRoughness.cpp index 8e8c7a4e..1ff743d8 100644 --- a/modules/material/src/vkcv/material/pbrMetallicRoughness.cpp +++ b/modules/material/src/vkcv/material/pbrMetallicRoughness.cpp @@ -43,16 +43,22 @@ namespace vkcv::material std::vector<DescriptorBinding> PBRMaterial::getDescriptorBindings() noexcept { - return {{DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT}, - {DescriptorType::SAMPLER , 1, ShaderStage::FRAGMENT}, - {DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT}, - {DescriptorType::SAMPLER , 1, ShaderStage::FRAGMENT}, - {DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT}, - {DescriptorType::SAMPLER , 1, ShaderStage::FRAGMENT}, - {DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT}, - {DescriptorType::SAMPLER , 1, ShaderStage::FRAGMENT}, - {DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT}, - {DescriptorType::SAMPLER , 1, ShaderStage::FRAGMENT}}; + static std::vector<DescriptorBinding> bindings; + + if (bindings.empty()) { + bindings.emplace_back(0, DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(1, DescriptorType::SAMPLER, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(2, DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(3, DescriptorType::SAMPLER, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(4, DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(5, DescriptorType::SAMPLER, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(6, DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(7, DescriptorType::SAMPLER, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(8, DescriptorType::IMAGE_SAMPLED, 1, ShaderStage::FRAGMENT); + bindings.emplace_back(9, DescriptorType::SAMPLER, 1, ShaderStage::FRAGMENT); + } + + return bindings; } PBRMaterial PBRMaterial::create( -- GitLab