diff --git a/libraries/material-networking/src/material-networking/MaterialCache.cpp b/libraries/material-networking/src/material-networking/MaterialCache.cpp index 9d6fc06d01..745504fb3d 100644 --- a/libraries/material-networking/src/material-networking/MaterialCache.cpp +++ b/libraries/material-networking/src/material-networking/MaterialCache.cpp @@ -177,7 +177,6 @@ std::pair> NetworkMaterialResource material->setModel(modelString); } - std::array hasTexcoordTransform; std::array texcoordTransforms; if (modelString == HIFI_PBR) { @@ -378,7 +377,6 @@ std::pair> NetworkMaterialResource } else if (value.isObject()) { auto valueVariant = value.toVariant(); glm::mat4 transform = mat4FromVariant(valueVariant); - hasTexcoordTransform[0] = true; texcoordTransforms[0] = transform; } } else if (key == "texCoordTransform1") { @@ -391,7 +389,6 @@ std::pair> NetworkMaterialResource } else if (value.isObject()) { auto valueVariant = value.toVariant(); glm::mat4 transform = mat4FromVariant(valueVariant); - hasTexcoordTransform[1] = true; texcoordTransforms[1] = transform; } } else if (key == "lightmapParams") { @@ -423,8 +420,9 @@ std::pair> NetworkMaterialResource // Do this after the texture maps are defined, so it overrides the default transforms for (int i = 0; i < graphics::Material::NUM_TEXCOORD_TRANSFORMS; i++) { - if (hasTexcoordTransform[i]) { - material->setTexCoordTransform(i, texcoordTransforms[i]); + mat4 newTransform = texcoordTransforms[i]; + if (newTransform != mat4() || newTransform != material->getTexCoordTransform(i)) { + material->setTexCoordTransform(i, newTransform); } }