summaryrefslogtreecommitdiff
path: root/indra/newview/llmodelpreview.cpp
diff options
context:
space:
mode:
authorBrad Linden <brad@lindenlab.com>2024-06-20 14:29:54 -0700
committerBrad Linden <brad@lindenlab.com>2024-06-20 14:29:54 -0700
commitd8cbc8a0fd19027e243402da09aa0c6c5ee5483b (patch)
tree809b27c33e5d8c43f118f2c25abd31a897c63615 /indra/newview/llmodelpreview.cpp
parentc686be5b0d918d70aa4974209c0833510ff907b5 (diff)
parent2515f422cfea1d2ad6947022636c1e3a70f4b282 (diff)
Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-develop
Diffstat (limited to 'indra/newview/llmodelpreview.cpp')
-rw-r--r--indra/newview/llmodelpreview.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp
index 7ecd7cdff9..b1a48db0ee 100644
--- a/indra/newview/llmodelpreview.cpp
+++ b/indra/newview/llmodelpreview.cpp
@@ -543,6 +543,32 @@ void LLModelPreview::rebuildUploadData()
}
instance.mTransform = mat;
mUploadData.push_back(instance);
+
+ // if uploading textures, make sure textures are present
+ if (mFMP->childGetValue("upload_textures").asBoolean()) // too early to cheack if still loading
+ {
+ for (auto& mat_pair : instance.mMaterial)
+ {
+ LLImportMaterial& material = mat_pair.second;
+
+ if (material.mDiffuseMapFilename.size())
+ {
+ LLViewerFetchedTexture* texture = LLMeshUploadThread::FindViewerTexture(material);
+ if (texture && texture->isMissingAsset())
+ {
+ // in case user provided a missing file later
+ texture->setIsMissingAsset(false);
+ texture->setLoadedCallback(LLModelPreview::textureLoadedCallback, 0, true, false, this, NULL, false);
+ texture->forceToSaveRawImage(0, F32_MAX);
+ texture->updateFetch();
+ if (mModelLoader)
+ {
+ mModelLoader->mNumOfFetchingTextures++;
+ }
+ }
+ }
+ }
+ }
}
}