diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-28 12:59:31 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-29 16:04:39 +0100 |
commit | 6e84e993f42be3530bff2550b89e5066c4d9cea6 (patch) | |
tree | 5834181018af5f6897d088e8bd909ef9e529c688 /src/plugins/sceneparsers | |
parent | f54cf0762e4a3e8742e15dd7ec970fcb7285cbc1 (diff) |
Accept CBOR as optional format in gltf data
Change-Id: I8e64f061147af10a0d017238664c483724047059
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/plugins/sceneparsers')
-rw-r--r-- | src/plugins/sceneparsers/gltf/gltfimporter.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/plugins/sceneparsers/gltf/gltfimporter.cpp b/src/plugins/sceneparsers/gltf/gltfimporter.cpp index a10a83cca..860dec3e7 100644 --- a/src/plugins/sceneparsers/gltf/gltfimporter.cpp +++ b/src/plugins/sceneparsers/gltf/gltfimporter.cpp @@ -108,6 +108,7 @@ #include <Qt3DExtras/qtorusmesh.h> #include <private/qurlhelper_p.h> +#include <private/qloadgltf_p.h> /** * glTF 2.0 conformance report @@ -410,12 +411,7 @@ void GLTFImporter::setSource(const QUrl &source) QFile f(path); f.open(QIODevice::ReadOnly); - QByteArray jsonData = f.readAll(); - QJsonDocument sceneDocument = QJsonDocument::fromBinaryData(jsonData); - if (sceneDocument.isNull()) - sceneDocument = QJsonDocument::fromJson(jsonData); - - if (Q_UNLIKELY(!setJSON(sceneDocument))) { + if (Q_UNLIKELY(!setJSON(qLoadGLTF(f.readAll())))) { qCWarning(GLTFImporterLog, "not a JSON document"); return; } @@ -430,11 +426,7 @@ void GLTFImporter::setSource(const QUrl &source) */ void GLTFImporter::setData(const QByteArray& data, const QString &basePath) { - QJsonDocument sceneDocument = QJsonDocument::fromBinaryData(data); - if (sceneDocument.isNull()) - sceneDocument = QJsonDocument::fromJson(data); - - if (Q_UNLIKELY(!setJSON(sceneDocument))) { + if (Q_UNLIKELY(!setJSON(qLoadGLTF(data)))) { qCWarning(GLTFImporterLog, "not a JSON document"); return; } |