Merge pull request #50 from msfeldstein/master

Pass camera reference through propertly as index uints, not as (glTF 1.0 era) name strings.
This commit is contained in:
Pär Winzell 2017-12-04 22:18:49 -08:00 committed by GitHub
commit 13367dfc66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View File

@ -1134,7 +1134,7 @@ ModelData *Raw2Gltf(
fmt::printf("Warning: Camera node name %s does not exist.\n", cam.nodeName); fmt::printf("Warning: Camera node name %s does not exist.\n", cam.nodeName);
continue; continue;
} }
iter->second->AddCamera(cam.name); iter->second->SetCamera(camera.ix);
} }
} }

View File

@ -20,7 +20,7 @@ NodeData::NodeData(
scale(scale), scale(scale),
children(), children(),
mesh(-1), mesh(-1),
cameraName(""), camera(-1),
skin(-1) skin(-1)
{ {
} }
@ -44,10 +44,10 @@ void NodeData::SetSkin(uint32_t skinIx)
skin = skinIx; skin = skinIx;
} }
void NodeData::AddCamera(std::string camera) void NodeData::SetCamera(uint32_t cameraIndex)
{ {
assert(!isJoint); assert(!isJoint);
cameraName = std::move(camera); camera = cameraIndex;
} }
json NodeData::serialize() const json NodeData::serialize() const
@ -75,8 +75,8 @@ json NodeData::serialize() const
if (skin >= 0) { if (skin >= 0) {
result["skin"] = skin; result["skin"] = skin;
} }
if (!cameraName.empty()) { if (camera >= 0) {
result["camera"] = cameraName; result["camera"] = camera;
} }
} }
return result; return result;

View File

@ -19,7 +19,7 @@ struct NodeData : Holdable
void AddChildNode(uint32_t childIx); void AddChildNode(uint32_t childIx);
void SetMesh(uint32_t meshIx); void SetMesh(uint32_t meshIx);
void SetSkin(uint32_t skinIx); void SetSkin(uint32_t skinIx);
void AddCamera(std::string camera); void SetCamera(uint32_t camera);
json serialize() const override; json serialize() const override;
@ -30,7 +30,7 @@ struct NodeData : Holdable
Vec3f scale; Vec3f scale;
std::vector<uint32_t> children; std::vector<uint32_t> children;
int32_t mesh; int32_t mesh;
std::string cameraName; int32_t camera;
int32_t skin; int32_t skin;
std::vector<std::string> skeletons; std::vector<std::string> skeletons;
}; };