diff options
Diffstat (limited to 'src/runtime/q3dsuippresentation.cpp')
-rw-r--r-- | src/runtime/q3dsuippresentation.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/runtime/q3dsuippresentation.cpp b/src/runtime/q3dsuippresentation.cpp index bafb313..260f4c4 100644 --- a/src/runtime/q3dsuippresentation.cpp +++ b/src/runtime/q3dsuippresentation.cpp @@ -4279,6 +4279,19 @@ Q3DSCustomMaterial Q3DSUipPresentation::customMaterial(const QString &idOrFilena return d->customMaterials.value(key); } +Q3DSCustomMaterial Q3DSUipPresentation::customMaterial(const QByteArray &id, const QByteArray &data) +{ + Q3DSCustomMaterialParser p; + bool ok = false; + Q3DSCustomMaterial mat = p.parse(data, &ok); + if (!ok) { + qWarning("Failed to parse metadata %s", id.constData()); + return Q3DSCustomMaterial(); + } + d->customMaterials.insert(id, mat); + return mat; +} + bool Q3DSUipPresentation::loadEffect(const QByteArray &id, const QString &assetFilename) { return loadMeta<Q3DSEffect, Q3DSEffectParser>(id, assetFilename, &d->effects); |