From fc0a31fa0de40879235a8c828598750acda25a06 Mon Sep 17 00:00:00 2001 From: sabrina-shanman Date: Wed, 14 Nov 2018 17:21:47 -0800 Subject: [PATCH] Define ModelLoader instance in ModelCache --- .../src/model-networking/ModelCache.cpp | 16 ++++++++++++++++ .../src/model-networking/ModelCache.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/libraries/model-networking/src/model-networking/ModelCache.cpp b/libraries/model-networking/src/model-networking/ModelCache.cpp index 254f61eba9..53a0ec14a1 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.cpp +++ b/libraries/model-networking/src/model-networking/ModelCache.cpp @@ -316,6 +316,22 @@ ModelCache::ModelCache() { const qint64 GEOMETRY_DEFAULT_UNUSED_MAX_SIZE = DEFAULT_UNUSED_MAX_SIZE; setUnusedResourceCacheSize(GEOMETRY_DEFAULT_UNUSED_MAX_SIZE); setObjectName("ModelCache"); + + // Add supported model formats + + ModelLoader::MIMEType fbxMIMEType("fbx"); + fbxMIMEType.extensions.push_back("fbx"); + fbxMIMEType.fileSignatures.emplace_back("Kaydara FBX Binary \x00", 0); + _modelLoader.addSupportedFormat(fbxMIMEType); + + ModelLoader::MIMEType objMIMEType("obj"); + objMIMEType.extensions.push_back("obj"); + _modelLoader.addSupportedFormat(objMIMEType); + + ModelLoader::MIMEType gltfMIMEType("gltf"); + gltfMIMEType.extensions.push_back("gltf"); + gltfMIMEType.webMediaTypes.push_back("model/gltf+json"); + _modelLoader.addSupportedFormat(gltfMIMEType); } QSharedPointer ModelCache::createResource(const QUrl& url, const QSharedPointer& fallback, diff --git a/libraries/model-networking/src/model-networking/ModelCache.h b/libraries/model-networking/src/model-networking/ModelCache.h index 9d458e7512..1018bdecd5 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.h +++ b/libraries/model-networking/src/model-networking/ModelCache.h @@ -20,6 +20,7 @@ #include "FBXSerializer.h" #include "TextureCache.h" +#include "ModelLoader.h" // Alias instead of derive to avoid copying @@ -158,6 +159,7 @@ protected: private: ModelCache(); virtual ~ModelCache() = default; + ModelLoader _modelLoader; }; class NetworkMaterial : public graphics::Material {