From 75e743be2f60916e6bf78da24814551bd6415116 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 31 Oct 2022 15:58:20 -0500 Subject: SL-18442 Port of Caladbolg's fix for emissive overrides not taking. Remove unused function. --- indra/llprimitive/llgltfmaterial.cpp | 67 ++++-------------------------------- indra/llprimitive/llgltfmaterial.h | 3 -- 2 files changed, 7 insertions(+), 63 deletions(-) (limited to 'indra') diff --git a/indra/llprimitive/llgltfmaterial.cpp b/indra/llprimitive/llgltfmaterial.cpp index 9743bad7a7..f771337c92 100644 --- a/indra/llprimitive/llgltfmaterial.cpp +++ b/indra/llprimitive/llgltfmaterial.cpp @@ -241,8 +241,14 @@ void LLGLTFMaterial::writeToModel(tinygltf::Model& model, S32 mat_index) const material_out.alphaCutoff = mAlphaCutoff; mBaseColor.write(material_out.pbrMetallicRoughness.baseColorFactor); + material_out.emissiveFactor.resize(3); // 0 size by default - mEmissiveColor.write(material_out.emissiveFactor); + + if (mEmissiveColor != LLGLTFMaterial::getDefaultEmissiveColor()) + { + material_out.emissiveFactor.resize(3); + mEmissiveColor.write(material_out.emissiveFactor); + } material_out.pbrMetallicRoughness.metallicFactor = mMetallicFactor; material_out.pbrMetallicRoughness.roughnessFactor = mRoughnessFactor; @@ -439,65 +445,6 @@ F32 LLGLTFMaterial::getDefaultTextureRotation() return 0.f; } -void LLGLTFMaterial::writeOverridesToModel(tinygltf::Model& model, S32 mat_index, LLGLTFMaterial const* base_material) const -{ - if (model.materials.size() < mat_index + 1) - { - model.materials.resize(mat_index + 1); - } - - tinygltf::Material& material_out = model.materials[mat_index]; - - // TODO - fix handling of resetting to null/default values - - constexpr bool is_override = true; - - // set base color texture - writeToTexture(model, material_out.pbrMetallicRoughness.baseColorTexture, GLTF_TEXTURE_INFO_BASE_COLOR, mBaseColorId, is_override, base_material->mBaseColorId); - // set normal texture - writeToTexture(model, material_out.normalTexture, GLTF_TEXTURE_INFO_NORMAL, mNormalId, is_override, base_material->mNormalId); - // set metallic-roughness texture - writeToTexture(model, material_out.pbrMetallicRoughness.metallicRoughnessTexture, GLTF_TEXTURE_INFO_METALLIC_ROUGHNESS, mMetallicRoughnessId, is_override, base_material->mMetallicRoughnessId); - // set emissive texture - writeToTexture(model, material_out.emissiveTexture, GLTF_TEXTURE_INFO_EMISSIVE, mEmissiveId, is_override, base_material->mEmissiveId); - - if (mAlphaMode != base_material->mAlphaMode) - { - material_out.alphaMode = getAlphaMode(); - } - - if (mAlphaCutoff != base_material->mAlphaCutoff) - { - material_out.alphaCutoff = mAlphaCutoff; - } - - if (mBaseColor != base_material->mBaseColor) - { - mBaseColor.write(material_out.pbrMetallicRoughness.baseColorFactor); - } - - if (mEmissiveColor != base_material->mEmissiveColor) - { - material_out.emissiveFactor.resize(3); // 0 size by default - mEmissiveColor.write(material_out.emissiveFactor); - } - - if (mMetallicFactor != base_material->mMetallicFactor) - { - material_out.pbrMetallicRoughness.metallicFactor = mMetallicFactor; - } - - if (mRoughnessFactor != base_material->mRoughnessFactor) - { - material_out.pbrMetallicRoughness.roughnessFactor = mRoughnessFactor; - } - - if (mDoubleSided != base_material->mDoubleSided) - { - material_out.doubleSided = mDoubleSided; - } -} - void LLGLTFMaterial::applyOverride(const LLGLTFMaterial& override_mat) { // TODO: potentially reimplement this with a more general purpose JSON merge diff --git a/indra/llprimitive/llgltfmaterial.h b/indra/llprimitive/llgltfmaterial.h index b0afb11bb5..d94ce6e281 100644 --- a/indra/llprimitive/llgltfmaterial.h +++ b/indra/llprimitive/llgltfmaterial.h @@ -185,9 +185,6 @@ public: // write to given tinygltf::Model void writeToModel(tinygltf::Model& model, S32 mat_index) const; - // calculate the fields in this material that differ from a base material and write them out to a given tinygltf::Model - void writeOverridesToModel(tinygltf::Model& model, S32 mat_index, LLGLTFMaterial const* base_material) const; - void applyOverride(const LLGLTFMaterial& override_mat); private: -- cgit v1.2.3