mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 05:37:17 +02:00
Allow url-only cache queries for tex, model
This commit is contained in:
parent
74e1f817a5
commit
3c7fc95d6c
2 changed files with 7 additions and 4 deletions
|
@ -237,13 +237,14 @@ ModelCache::ModelCache() {
|
||||||
|
|
||||||
QSharedPointer<Resource> ModelCache::createResource(const QUrl& url, const QSharedPointer<Resource>& fallback,
|
QSharedPointer<Resource> ModelCache::createResource(const QUrl& url, const QSharedPointer<Resource>& fallback,
|
||||||
bool delayLoad, const void* extra) {
|
bool delayLoad, const void* extra) {
|
||||||
const GeometryExtra* geometryExtra = static_cast<const GeometryExtra*>(extra);
|
|
||||||
|
|
||||||
Resource* resource = nullptr;
|
Resource* resource = nullptr;
|
||||||
if (url.path().toLower().endsWith(".fst")) {
|
if (url.path().toLower().endsWith(".fst")) {
|
||||||
resource = new GeometryMappingResource(url);
|
resource = new GeometryMappingResource(url);
|
||||||
} else {
|
} else {
|
||||||
resource = new GeometryDefinitionResource(url, geometryExtra->mapping, geometryExtra->textureBaseUrl);
|
const GeometryExtra* geometryExtra = static_cast<const GeometryExtra*>(extra);
|
||||||
|
auto mapping = geometryExtra ? geometryExtra->mapping : QVariantHash();
|
||||||
|
auto textureBaseUrl = geometryExtra ? geometryExtra->textureBaseUrl : QUrl();
|
||||||
|
resource = new GeometryDefinitionResource(url, mapping, textureBaseUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
return QSharedPointer<Resource>(resource, &Resource::deleter);
|
return QSharedPointer<Resource>(resource, &Resource::deleter);
|
||||||
|
|
|
@ -216,7 +216,9 @@ gpu::TexturePointer TextureCache::getImageTexture(const QString& path, TextureTy
|
||||||
QSharedPointer<Resource> TextureCache::createResource(const QUrl& url,
|
QSharedPointer<Resource> TextureCache::createResource(const QUrl& url,
|
||||||
const QSharedPointer<Resource>& fallback, bool delayLoad, const void* extra) {
|
const QSharedPointer<Resource>& fallback, bool delayLoad, const void* extra) {
|
||||||
const TextureExtra* textureExtra = static_cast<const TextureExtra*>(extra);
|
const TextureExtra* textureExtra = static_cast<const TextureExtra*>(extra);
|
||||||
return QSharedPointer<Resource>(new NetworkTexture(url, textureExtra->type, textureExtra->content),
|
auto type = textureExtra ? textureExtra->type : TextureType::DEFAULT_TEXTURE;
|
||||||
|
auto content = textureExtra ? textureExtra->content : QByteArray();
|
||||||
|
return QSharedPointer<Resource>(new NetworkTexture(url, type, content),
|
||||||
&Resource::deleter);
|
&Resource::deleter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue