From a0138c8abc3619077a1f20838fb2b04327bcb40e Mon Sep 17 00:00:00 2001 From: Jan Date: Sat, 4 May 2024 22:10:58 +0200 Subject: [PATCH] chore: set gltf material default metallicness to 0 --- src/ObjCommon/XModel/Gltf/JsonGltf.h | 3 ++- src/ObjWriting/XModel/Gltf/GltfWriter.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ObjCommon/XModel/Gltf/JsonGltf.h b/src/ObjCommon/XModel/Gltf/JsonGltf.h index f7b18b12..2f3a15d4 100644 --- a/src/ObjCommon/XModel/Gltf/JsonGltf.h +++ b/src/ObjCommon/XModel/Gltf/JsonGltf.h @@ -206,9 +206,10 @@ namespace gltf { public: std::optional baseColorTexture; + std::optional metallicFactor; }; - NLOHMANN_DEFINE_TYPE_EXTENSION(JsonPbrMetallicRoughness, baseColorTexture); + NLOHMANN_DEFINE_TYPE_EXTENSION(JsonPbrMetallicRoughness, baseColorTexture, metallicFactor); class JsonNormalTextureInfo { diff --git a/src/ObjWriting/XModel/Gltf/GltfWriter.cpp b/src/ObjWriting/XModel/Gltf/GltfWriter.cpp index ed640ba9..3feeada7 100644 --- a/src/ObjWriting/XModel/Gltf/GltfWriter.cpp +++ b/src/ObjWriting/XModel/Gltf/GltfWriter.cpp @@ -127,7 +127,13 @@ namespace material.name = modelMaterial.name; if (!modelMaterial.colorMapName.empty()) - material.pbrMetallicRoughness.emplace().baseColorTexture.emplace().index = CreateTexture(gltf, modelMaterial.colorMapName); + { + material.pbrMetallicRoughness.emplace(); + material.pbrMetallicRoughness->baseColorTexture.emplace(); + + material.pbrMetallicRoughness->baseColorTexture->index = CreateTexture(gltf, modelMaterial.colorMapName); + material.pbrMetallicRoughness->metallicFactor = 0.0f; + } if (!modelMaterial.normalMapName.empty()) material.normalTexture.emplace().index = CreateTexture(gltf, modelMaterial.colorMapName);