summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Koskinen <janne.p.koskinen@qt.io>2020-09-09 11:01:17 +0300
committerJanne Koskinen <janne.p.koskinen@qt.io>2020-09-14 13:28:43 +0300
commit6913b8eb032b265012671290b66c87e23a7dc7b6 (patch)
tree3395fcd7ef148e6848fce8fd41d864188d9c1dfa
parent98580d4e7374d0373e89fad0c1fd743b84b3dbbd (diff)
Try loading files outside of UIP/UIA
Delayed loading ignores files not listed in UIP, try loading them if not found from the texture map. Task-number: QT3DS-4159 Change-Id: I32011390976493e9c43126b6d162516fa24bca6a Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r--src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp b/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp
index 38d021a..388ef1b 100644
--- a/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp
+++ b/src/runtimerender/resourcemanager/Qt3DSRenderBufferManager.cpp
@@ -373,6 +373,20 @@ struct SBufferManager : public IBufferManager
CRegisteredString imagePath = getImagePath(path);
TImageMap::iterator theIter = m_ImageMap.find(imagePath);
+
+#ifndef NO_EXTERNAL_LOOKUP
+ // Failed to look up image from map, perhaps external of UIP/UIA image
+ // Try with full URI and load from filesystem.
+ if (theIter == m_ImageMap.end())
+ theIter = m_ImageMap.find(getImagePath(QString::fromLatin1(inSourcePath.c_str())));
+ if (theIter == m_ImageMap.end()) {
+ loadTextureImage(*m_reloadableTextures[path], flipCompressed);
+ imagePath = getImagePath(path);
+ theIter = m_ImageMap.find(imagePath);
+ if (theIter == m_ImageMap.end())
+ theIter = m_ImageMap.find(getImagePath(QString::fromLatin1(inSourcePath.c_str())));
+ }
+#endif
if (theIter != m_ImageMap.end()) {
SImageEntry textureData = theIter->second;
if (textureData.m_Loaded) {