From 630df7c2330d73b5ef86ead64620eb950fa00137 Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Wed, 25 Jul 2018 13:28:23 -0700 Subject: [PATCH] Corrects loading of texture and default visibility. --- interface/src/ui/overlays/ModelOverlay.cpp | 10 ++++++---- interface/src/ui/overlays/ModelOverlay.h | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/interface/src/ui/overlays/ModelOverlay.cpp b/interface/src/ui/overlays/ModelOverlay.cpp index 71354002ea..802f9c2c77 100644 --- a/interface/src/ui/overlays/ModelOverlay.cpp +++ b/interface/src/ui/overlays/ModelOverlay.cpp @@ -27,10 +27,6 @@ ModelOverlay::ModelOverlay() { _model->setLoadingPriority(_loadPriority); _isLoaded = false; - - // Don't show overlay until textures have loaded - _visible = false; - render::ScenePointer scene = qApp->getMain3DScene(); _model->setVisibleInScene(false, scene); } @@ -136,6 +132,11 @@ void ModelOverlay::update(float deltatime) { } scene->enqueueTransaction(transaction); + if (_texturesDirty && !_modelTextures.isEmpty()) { + _texturesDirty = false; + _model->setTextures(_modelTextures); + } + if (!_texturesLoaded && _model->getGeometry() && _model->getGeometry()->areTexturesLoaded()) { _texturesLoaded = true; if (!_modelTextures.isEmpty()) { @@ -242,6 +243,7 @@ void ModelOverlay::setProperties(const QVariantMap& properties) { _texturesLoaded = false; QVariantMap textureMap = texturesValue.toMap(); _modelTextures = textureMap; + _texturesDirty = true; } auto groupCulledValue = properties["isGroupCulled"]; diff --git a/interface/src/ui/overlays/ModelOverlay.h b/interface/src/ui/overlays/ModelOverlay.h index f7a79c5615..76e4601021 100644 --- a/interface/src/ui/overlays/ModelOverlay.h +++ b/interface/src/ui/overlays/ModelOverlay.h @@ -94,6 +94,7 @@ private: ModelPointer _model; QVariantMap _modelTextures; bool _texturesLoaded { false }; + bool _texturesDirty{ false }; render::ItemIDs _subRenderItemIDs;