From 0903e14b066fce0d2d5830970cc2fbfa39984806 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 12 Feb 2016 15:57:24 -0800 Subject: [PATCH 1/2] Revert model texs when unset --- libraries/entities-renderer/src/RenderableModelEntityItem.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index cc202dde37..2bdb2c790d 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -101,8 +101,9 @@ int RenderableModelEntityItem::readEntitySubclassDataFromBuffer(const unsigned c } QVariantMap RenderableModelEntityItem::parseTexturesToMap(QString textures) { + // If textures are unset, revert to original textures if (textures == "") { - return QVariantMap(); + return parseTexturesToMap(_originalTextures.join(",\n")); } QString jsonTextures = "{\"" + textures.replace(":\"", "\":\"").replace(",\n", ",\"") + "}"; From 0e9d6968596584007ffbd5682ba6000d0f9e88c3 Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Mon, 15 Feb 2016 11:09:10 -0800 Subject: [PATCH 2/2] Cache renderable model orig texs as QVariantMap --- libraries/entities-renderer/src/RenderableModelEntityItem.cpp | 3 ++- libraries/entities-renderer/src/RenderableModelEntityItem.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index 2bdb2c790d..89f819b0da 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -103,7 +103,7 @@ int RenderableModelEntityItem::readEntitySubclassDataFromBuffer(const unsigned c QVariantMap RenderableModelEntityItem::parseTexturesToMap(QString textures) { // If textures are unset, revert to original textures if (textures == "") { - return parseTexturesToMap(_originalTextures.join(",\n")); + return _originalTexturesMap; } QString jsonTextures = "{\"" + textures.replace(":\"", "\":\"").replace(",\n", ",\"") + "}"; @@ -129,6 +129,7 @@ void RenderableModelEntityItem::remapTextures() { const QSharedPointer& networkGeometry = _model->getGeometry(); if (networkGeometry) { _originalTextures = networkGeometry->getTextureNames(); + _originalTexturesMap = parseTexturesToMap(_originalTextures.join(",\n")); _originalTexturesRead = true; } } diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.h b/libraries/entities-renderer/src/RenderableModelEntityItem.h index 20afb3c157..c5cda47493 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.h +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.h @@ -92,6 +92,7 @@ private: EntityTreeRenderer* _myRenderer = nullptr; QString _currentTextures; QStringList _originalTextures; + QVariantMap _originalTexturesMap; bool _originalTexturesRead = false; QVector> _points; bool _dimensionsInitialized = true;