diff --git a/ReFuel.Gltf/GltfMesh.cs b/ReFuel.Gltf/GltfMesh.cs index 9fed229..91a034f 100644 --- a/ReFuel.Gltf/GltfMesh.cs +++ b/ReFuel.Gltf/GltfMesh.cs @@ -165,8 +165,14 @@ namespace ReFuel.Gltf this.material.Id = index; } - // TODO: materials. - // TODO: morph targets. + if (element.TryGetProperty("targets", out JsonElement targetsElement)) + { + foreach (JsonProperty property in materialElement.EnumerateObject()) + { + //TODO: targets + //this.Targets.Add(weights); + } + } if (element.TryGetProperty("mode", out JsonElement modeElement)) { diff --git a/ReFuel.Gltf/GltfObject.cs b/ReFuel.Gltf/GltfObject.cs index 316f399..5964218 100755 --- a/ReFuel.Gltf/GltfObject.cs +++ b/ReFuel.Gltf/GltfObject.cs @@ -29,7 +29,7 @@ namespace ReFuel.Gltf { public abstract GltfObjectKind Kind { get; } public GltfDocument Document { get; protected set; } - public GltfCollection Extension { get; protected set; } = new GltfCollection(); + public GltfCollection Extension { get; protected set; } = new GltfCollection(true); public GltfCollection Extras { get; protected set; } = new GltfCollection(); protected GltfObject() @@ -49,7 +49,7 @@ namespace ReFuel.Gltf { Extras.Parse(extras); } - if (element.TryGetProperty("extension", out JsonElement extension)) + if (element.TryGetProperty("extensions", out JsonElement extension)) { Extension.Parse(extension); } diff --git a/ReFuel.Gltf/GltfSerializedExtensionProvider.cs b/ReFuel.Gltf/GltfSerializedExtensionProvider.cs index 0bd8786..d7e8cee 100755 --- a/ReFuel.Gltf/GltfSerializedExtensionProvider.cs +++ b/ReFuel.Gltf/GltfSerializedExtensionProvider.cs @@ -5,12 +5,10 @@ using System.Text.Json.Serialization; namespace ReFuel.Gltf { - public class GltfSerializedExtensionProvider : IGltfExtensionProvider + public class GltfSerializedExtensionProvider : IGltfExtensionProvider { public string Name { get; } - public Type? DataType { get; } = typeof(T); - public GltfSerializedExtensionProvider(string name) { Name = name; diff --git a/ReFuel.Gltf/IGltfExtensionProvider.cs b/ReFuel.Gltf/IGltfExtensionProvider.cs index 3aa0dad..2d8ad55 100755 --- a/ReFuel.Gltf/IGltfExtensionProvider.cs +++ b/ReFuel.Gltf/IGltfExtensionProvider.cs @@ -6,15 +6,8 @@ namespace ReFuel.Gltf public interface IGltfExtensionProvider { string Name { get; } - Type? DataType { get; } object ParseExtensionObject(JsonElement element); void WriteExtensionObject(object obj, Utf8JsonWriter writer); } - - public interface IGltfExtensionProvider : IGltfExtensionProvider - { - T ParseExtension(JsonElement element); - void WriteExtension(T value, Utf8JsonWriter writer); - } } \ No newline at end of file