Merge pull request #5154 from feuerste/gltf_binary
Improve binary check for gltf and gltf2.pull/5172/head
commit
6308de6e5b
|
@ -93,7 +93,10 @@ const aiImporterDesc *glTFImporter::GetInfo() const {
|
|||
bool glTFImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool /* checkSig */) const {
|
||||
glTF::Asset asset(pIOHandler);
|
||||
try {
|
||||
asset.Load(pFile, GetExtension(pFile) == "glb");
|
||||
asset.Load(pFile,
|
||||
CheckMagicToken(
|
||||
pIOHandler, pFile, AI_GLB_MAGIC_NUMBER, 1, 0,
|
||||
static_cast<unsigned int>(strlen(AI_GLB_MAGIC_NUMBER))));
|
||||
return asset.asset;
|
||||
} catch (...) {
|
||||
return false;
|
||||
|
@ -697,7 +700,10 @@ void glTFImporter::InternReadFile(const std::string &pFile, aiScene *pScene, IOS
|
|||
|
||||
// read the asset file
|
||||
glTF::Asset asset(pIOHandler);
|
||||
asset.Load(pFile, GetExtension(pFile) == "glb");
|
||||
asset.Load(pFile,
|
||||
CheckMagicToken(
|
||||
pIOHandler, pFile, AI_GLB_MAGIC_NUMBER, 1, 0,
|
||||
static_cast<unsigned int>(strlen(AI_GLB_MAGIC_NUMBER))));
|
||||
|
||||
//
|
||||
// Copy the data out
|
||||
|
|
|
@ -112,7 +112,11 @@ bool glTF2Importer::CanRead(const std::string &filename, IOSystem *pIOHandler, b
|
|||
|
||||
if (pIOHandler) {
|
||||
glTF2::Asset asset(pIOHandler);
|
||||
return asset.CanRead(filename, extension == "glb");
|
||||
return asset.CanRead(
|
||||
filename,
|
||||
CheckMagicToken(
|
||||
pIOHandler, filename, AI_GLB_MAGIC_NUMBER, 1, 0,
|
||||
static_cast<unsigned int>(strlen(AI_GLB_MAGIC_NUMBER))));
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -1678,7 +1682,10 @@ void glTF2Importer::InternReadFile(const std::string &pFile, aiScene *pScene, IO
|
|||
|
||||
// read the asset file
|
||||
glTF2::Asset asset(pIOHandler, static_cast<rapidjson::IRemoteSchemaDocumentProvider *>(mSchemaDocumentProvider));
|
||||
asset.Load(pFile, GetExtension(pFile) == "glb");
|
||||
asset.Load(pFile,
|
||||
CheckMagicToken(
|
||||
pIOHandler, pFile, AI_GLB_MAGIC_NUMBER, 1, 0,
|
||||
static_cast<unsigned int>(strlen(AI_GLB_MAGIC_NUMBER))));
|
||||
if (asset.scene) {
|
||||
pScene->mName = asset.scene->name;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue