Ensure gltf asset version is printed as \d.0
parent
7fd9c3dc98
commit
7a4a32625c
|
@ -177,7 +177,7 @@ namespace glTF2
|
||||||
struct GLB_Header
|
struct GLB_Header
|
||||||
{
|
{
|
||||||
uint8_t magic[4]; //!< Magic number: "glTF"
|
uint8_t magic[4]; //!< Magic number: "glTF"
|
||||||
uint32_t version; //!< Version number
|
float_t version; //!< Version number
|
||||||
uint32_t length; //!< Total length of the Binary glTF, including header, scene, and body, in bytes
|
uint32_t length; //!< Total length of the Binary glTF, including header, scene, and body, in bytes
|
||||||
uint32_t sceneLength; //!< Length, in bytes, of the glTF scene
|
uint32_t sceneLength; //!< Length, in bytes, of the glTF scene
|
||||||
uint32_t sceneFormat; //!< Specifies the format of the glTF scene (see the SceneFormat enum)
|
uint32_t sceneFormat; //!< Specifies the format of the glTF scene (see the SceneFormat enum)
|
||||||
|
@ -1074,13 +1074,13 @@ namespace glTF2
|
||||||
std::string version; //!< Specifies the target rendering API (default: "1.0.3")
|
std::string version; //!< Specifies the target rendering API (default: "1.0.3")
|
||||||
} profile; //!< Specifies the target rendering API and version, e.g., WebGL 1.0.3. (default: {})
|
} profile; //!< Specifies the target rendering API and version, e.g., WebGL 1.0.3. (default: {})
|
||||||
|
|
||||||
int version; //!< The glTF format version
|
float version; //!< The glTF format version
|
||||||
|
|
||||||
void Read(Document& doc);
|
void Read(Document& doc);
|
||||||
|
|
||||||
AssetMetadata()
|
AssetMetadata()
|
||||||
: premultipliedAlpha(false)
|
: premultipliedAlpha(false)
|
||||||
, version(0)
|
, version(0.)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1229,7 +1229,7 @@ inline void Scene::Read(Value& obj, Asset& r)
|
||||||
inline void AssetMetadata::Read(Document& doc)
|
inline void AssetMetadata::Read(Document& doc)
|
||||||
{
|
{
|
||||||
// read the version, etc.
|
// read the version, etc.
|
||||||
int statedVersion = 0;
|
float statedVersion = 0.;
|
||||||
if (Value* obj = FindObject(doc, "asset")) {
|
if (Value* obj = FindObject(doc, "asset")) {
|
||||||
ReadMember(*obj, "copyright", copyright);
|
ReadMember(*obj, "copyright", copyright);
|
||||||
ReadMember(*obj, "generator", generator);
|
ReadMember(*obj, "generator", generator);
|
||||||
|
@ -1244,14 +1244,15 @@ inline void AssetMetadata::Read(Document& doc)
|
||||||
}
|
}
|
||||||
|
|
||||||
version = std::max(statedVersion, version);
|
version = std::max(statedVersion, version);
|
||||||
if (version == 0) {
|
|
||||||
// if missing version, we'll assume version 1...
|
if (version == 0.) {
|
||||||
version = 1;
|
// if missing version, we'll assume version 1.0...
|
||||||
|
version = 1.;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version != 1) {
|
if (version != 1.) {
|
||||||
char msg[128];
|
char msg[128];
|
||||||
ai_snprintf(msg, 128, "GLTF: Unsupported glTF version: %d", version);
|
ai_snprintf(msg, 128, "GLTF: Unsupported glTF version: %.1f", version);
|
||||||
throw DeadlyImportError(msg);
|
throw DeadlyImportError(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -574,7 +574,7 @@ namespace glTF2 {
|
||||||
GLB_Header header;
|
GLB_Header header;
|
||||||
memcpy(header.magic, AI_GLB_MAGIC_NUMBER, sizeof(header.magic));
|
memcpy(header.magic, AI_GLB_MAGIC_NUMBER, sizeof(header.magic));
|
||||||
|
|
||||||
header.version = 2;
|
header.version = 2.;
|
||||||
AI_SWAP4(header.version);
|
AI_SWAP4(header.version);
|
||||||
|
|
||||||
header.length = uint32_t(sizeof(header) + sceneLength + bodyLength);
|
header.length = uint32_t(sizeof(header) + sceneLength + bodyLength);
|
||||||
|
@ -600,7 +600,7 @@ namespace glTF2 {
|
||||||
asset.SetObject();
|
asset.SetObject();
|
||||||
{
|
{
|
||||||
char versionChar[10];
|
char versionChar[10];
|
||||||
ai_snprintf(versionChar, sizeof(versionChar), "%d", mAsset.asset.version);
|
ai_snprintf(versionChar, sizeof(versionChar), "%.1f", mAsset.asset.version);
|
||||||
asset.AddMember("version", Value(versionChar, mAl).Move(), mAl);
|
asset.AddMember("version", Value(versionChar, mAl).Move(), mAl);
|
||||||
|
|
||||||
asset.AddMember("generator", Value(mAsset.asset.generator, mAl).Move(), mAl);
|
asset.AddMember("generator", Value(mAsset.asset.generator, mAl).Move(), mAl);
|
||||||
|
|
|
@ -845,7 +845,7 @@ void glTF2Exporter::ExportScene()
|
||||||
void glTF2Exporter::ExportMetadata()
|
void glTF2Exporter::ExportMetadata()
|
||||||
{
|
{
|
||||||
AssetMetadata& asset = mAsset->asset;
|
AssetMetadata& asset = mAsset->asset;
|
||||||
asset.version = 2;
|
asset.version = 2.;
|
||||||
|
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%d)",
|
ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%d)",
|
||||||
|
|
|
@ -177,7 +177,7 @@ namespace glTF
|
||||||
struct GLB_Header
|
struct GLB_Header
|
||||||
{
|
{
|
||||||
uint8_t magic[4]; //!< Magic number: "glTF"
|
uint8_t magic[4]; //!< Magic number: "glTF"
|
||||||
uint32_t version; //!< Version number (always 1 as of the last update)
|
float_t version; //!< Version number (always 1 as of the last update)
|
||||||
uint32_t length; //!< Total length of the Binary glTF, including header, scene, and body, in bytes
|
uint32_t length; //!< Total length of the Binary glTF, including header, scene, and body, in bytes
|
||||||
uint32_t sceneLength; //!< Length, in bytes, of the glTF scene
|
uint32_t sceneLength; //!< Length, in bytes, of the glTF scene
|
||||||
uint32_t sceneFormat; //!< Specifies the format of the glTF scene (see the SceneFormat enum)
|
uint32_t sceneFormat; //!< Specifies the format of the glTF scene (see the SceneFormat enum)
|
||||||
|
@ -1058,7 +1058,7 @@ namespace glTF
|
||||||
std::string version; //!< Specifies the target rendering API (default: "1.0.3")
|
std::string version; //!< Specifies the target rendering API (default: "1.0.3")
|
||||||
} profile; //!< Specifies the target rendering API and version, e.g., WebGL 1.0.3. (default: {})
|
} profile; //!< Specifies the target rendering API and version, e.g., WebGL 1.0.3. (default: {})
|
||||||
|
|
||||||
int version; //!< The glTF format version (should be 1)
|
float version; //!< The glTF format version (should be 1.0)
|
||||||
|
|
||||||
void Read(Document& doc);
|
void Read(Document& doc);
|
||||||
|
|
||||||
|
|
|
@ -1228,7 +1228,7 @@ inline void Scene::Read(Value& obj, Asset& r)
|
||||||
inline void AssetMetadata::Read(Document& doc)
|
inline void AssetMetadata::Read(Document& doc)
|
||||||
{
|
{
|
||||||
// read the version, etc.
|
// read the version, etc.
|
||||||
int statedVersion = 0;
|
float statedVersion = 0.;
|
||||||
if (Value* obj = FindObject(doc, "asset")) {
|
if (Value* obj = FindObject(doc, "asset")) {
|
||||||
ReadMember(*obj, "copyright", copyright);
|
ReadMember(*obj, "copyright", copyright);
|
||||||
ReadMember(*obj, "generator", generator);
|
ReadMember(*obj, "generator", generator);
|
||||||
|
@ -1243,14 +1243,14 @@ inline void AssetMetadata::Read(Document& doc)
|
||||||
}
|
}
|
||||||
|
|
||||||
version = std::max(statedVersion, version);
|
version = std::max(statedVersion, version);
|
||||||
if (version == 0) {
|
if (version == 0.) {
|
||||||
// if missing version, we'll assume version 1...
|
// if missing version, we'll assume version 1...
|
||||||
version = 1;
|
version = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version != 1) {
|
if (version != 1.) {
|
||||||
char msg[128];
|
char msg[128];
|
||||||
ai_snprintf(msg, 128, "GLTF: Unsupported glTF version: %d", version);
|
ai_snprintf(msg, 128, "GLTF: Unsupported glTF version: %.0f", version);
|
||||||
throw DeadlyImportError(msg);
|
throw DeadlyImportError(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -582,7 +582,7 @@ namespace glTF {
|
||||||
GLB_Header header;
|
GLB_Header header;
|
||||||
memcpy(header.magic, AI_GLB_MAGIC_NUMBER, sizeof(header.magic));
|
memcpy(header.magic, AI_GLB_MAGIC_NUMBER, sizeof(header.magic));
|
||||||
|
|
||||||
header.version = 1;
|
header.version = 1.;
|
||||||
AI_SWAP4(header.version);
|
AI_SWAP4(header.version);
|
||||||
|
|
||||||
header.length = uint32_t(sizeof(header) + sceneLength + bodyLength);
|
header.length = uint32_t(sizeof(header) + sceneLength + bodyLength);
|
||||||
|
@ -608,7 +608,7 @@ namespace glTF {
|
||||||
asset.SetObject();
|
asset.SetObject();
|
||||||
{
|
{
|
||||||
char versionChar[10];
|
char versionChar[10];
|
||||||
ai_snprintf(versionChar, sizeof(versionChar), "%d", mAsset.asset.version);
|
ai_snprintf(versionChar, sizeof(versionChar), "%.0f", mAsset.asset.version);
|
||||||
asset.AddMember("version", Value(versionChar, mAl).Move(), mAl);
|
asset.AddMember("version", Value(versionChar, mAl).Move(), mAl);
|
||||||
|
|
||||||
asset.AddMember("generator", Value(mAsset.asset.generator, mAl).Move(), mAl);
|
asset.AddMember("generator", Value(mAsset.asset.generator, mAl).Move(), mAl);
|
||||||
|
|
|
@ -834,7 +834,7 @@ void glTFExporter::ExportScene()
|
||||||
void glTFExporter::ExportMetadata()
|
void glTFExporter::ExportMetadata()
|
||||||
{
|
{
|
||||||
glTF::AssetMetadata& asset = mAsset->asset;
|
glTF::AssetMetadata& asset = mAsset->asset;
|
||||||
asset.version = 1;
|
asset.version = 1.;
|
||||||
|
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%d)",
|
ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%d)",
|
||||||
|
|
Loading…
Reference in New Issue