protected override void SerializeMembers(GLTFJsonFormatter f)
 {
     f.KeyValue(() => name);
     f.KeyValue(() => renderQueue);
     f.KeyValue(() => shader);
     {
         f.Key("floatProperties"); f.BeginMap();
         foreach (var kv in floatProperties)
         {
             f.Key(kv.Key); f.Value(kv.Value);
         }
         f.EndMap();
     }
     {
         f.Key("vectorProperties"); f.BeginMap();
         foreach (var kv in vectorProperties)
         {
             f.Key(kv.Key); f.Serialize(kv.Value.ToArray());
         }
         f.EndMap();
     }
     {
         f.Key("textureProperties"); f.BeginMap();
         foreach (var kv in textureProperties)
         {
             f.Key(kv.Key); f.Value(kv.Value);
         }
         f.EndMap();
     }
     {
         f.Key("keywordMap"); f.BeginMap();
         foreach (var kv in keywordMap)
         {
             f.Key(kv.Key); f.Value(kv.Value);
         }
         f.EndMap();
     }
     {
         f.Key("tagMap"); f.BeginMap();
         foreach (var kv in tagMap)
         {
             f.Key(kv.Key); f.Value(kv.Value);
         }
         f.EndMap();
     }
 }
 protected override void SerializeMembers(GLTFJsonFormatter f)
 {
     f.Key("bone"); f.Value((string)bone.ToString());
     f.KeyValue(() => node);
     f.KeyValue(() => useDefaultValues);
     if (!useDefaultValues)
     {
         f.KeyValue(() => min);
         f.KeyValue(() => max);
         f.KeyValue(() => center);
         f.KeyValue(() => axisLength);
     }
 }