// Reads in a transform from the scene file
void readTransform(render_object* object, const boost::property_tree::ptree& pt)
{
	object->transform.position = readVec3(pt.get_child("position"));
	glm::vec3 rot = readVec3(pt.get_child("rotation"));
	object->transform.rotate(rot.x, glm::vec3(1.0f, 0.0f, 0.0f));
	object->transform.rotate(rot.y, glm::vec3(0.0f, 1.0f, 0.0f));
	object->transform.rotate(rot.z, glm::vec3(0.0f, 0.0f, 1.0f));
	object->transform.scale = readVec3(pt.get_child("scale"));
}
void readScale(CborValue *it, Scale *scale)
{
    Vec3 rval;
    readVec3(it, &(rval));
    *scale = rval;
}
void readPosition(CborValue *it, Position *position)
{
    Vec3 rval;
    readVec3(it, &(rval));
    *position = rval;
}