Remove exception on glTF 2.0 loading
parent
bd64cc88df
commit
d469c7b161
|
@ -903,8 +903,10 @@ struct AssetMetadata {
|
||||||
void Read(Document &doc);
|
void Read(Document &doc);
|
||||||
|
|
||||||
AssetMetadata() :
|
AssetMetadata() :
|
||||||
premultipliedAlpha(false), version() {
|
premultipliedAlpha(false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
operator bool() const { return version.size() && version[0] == '1'; }
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -1114,10 +1114,6 @@ inline void AssetMetadata::Read(Document &doc) {
|
||||||
ReadMember(*curProfile, "version", this->profile.version);
|
ReadMember(*curProfile, "version", this->profile.version);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version.empty() || version[0] != '1') {
|
|
||||||
throw DeadlyImportError("GLTF: Unsupported glTF version: ", version);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -1222,6 +1218,10 @@ inline void Asset::Load(const std::string &pFile, bool isBinary) {
|
||||||
|
|
||||||
// Load the metadata
|
// Load the metadata
|
||||||
asset.Read(doc);
|
asset.Read(doc);
|
||||||
|
if (!asset) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ReadExtensionsUsed(doc);
|
ReadExtensionsUsed(doc);
|
||||||
|
|
||||||
// Prepare the dictionaries
|
// Prepare the dictionaries
|
||||||
|
|
|
@ -96,8 +96,7 @@ bool glTFImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool
|
||||||
glTF::Asset asset(pIOHandler);
|
glTF::Asset asset(pIOHandler);
|
||||||
try {
|
try {
|
||||||
asset.Load(pFile, GetExtension(pFile) == "glb");
|
asset.Load(pFile, GetExtension(pFile) == "glb");
|
||||||
std::string version = asset.asset.version;
|
return asset.asset;
|
||||||
return !version.empty() && version[0] == '1';
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue