From 6913b8eb032b265012671290b66c87e23a7dc7b6 Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Wed, 9 Sep 2020 11:01:17 +0300 Subject: Try loading files outside of UIP/UIA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ä Reviewed-by: Tomi Korpipää --- .../resourcemanager/Qt3DSRenderBufferManager.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/runtimerender/resourcemanager') 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) { -- cgit v1.2.3