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