2
0
Эх сурвалжийг харах

Removed no longer used [VertexAttribute]

vpenades 1 жил өмнө
parent
commit
e8b5a9c922

+ 1 - 0
src/SharpGLTF.Toolkit/Geometry/VertexTypes/Attributes.cs

@@ -6,6 +6,7 @@ using System.Text;
 
 
 namespace SharpGLTF.Geometry.VertexTypes
 namespace SharpGLTF.Geometry.VertexTypes
 {
 {
+    [Obsolete("The usage of this attribute has been removed because it's not AOT friendly. Implement IVertexReflection.GetEncodingAttributes() instead.", true)]
     [AttributeUsageAttribute(AttributeTargets.Field, Inherited = true, AllowMultiple = false)]
     [AttributeUsageAttribute(AttributeTargets.Field, Inherited = true, AllowMultiple = false)]
     public sealed class VertexAttributeAttribute : Attribute
     public sealed class VertexAttributeAttribute : Attribute
     {
     {

+ 5 - 19
src/SharpGLTF.Toolkit/Geometry/VertexTypes/VertexGeometry.cs

@@ -127,8 +127,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         #endregion
         #endregion
 
 
         #region data
         #region data
-
-        [VertexAttribute("POSITION")]
+        
         public Vector3 Position;
         public Vector3 Position;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -236,11 +235,8 @@ namespace SharpGLTF.Geometry.VertexTypes
         #endregion
         #endregion
 
 
         #region data
         #region data
-
-        [VertexAttribute("POSITION")]
+        
         public Vector3 Position;
         public Vector3 Position;
-
-        [VertexAttribute("NORMAL")]
         public Vector3 Normal;
         public Vector3 Normal;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -347,14 +343,9 @@ namespace SharpGLTF.Geometry.VertexTypes
         #endregion
         #endregion
 
 
         #region data
         #region data
-
-        [VertexAttribute("POSITION")]
-        public Vector3 Position;
-
-        [VertexAttribute("NORMAL")]
+        
+        public Vector3 Position;        
         public Vector3 Normal;
         public Vector3 Normal;
-
-        [VertexAttribute("TANGENT")]
         public Vector4 Tangent;
         public Vector4 Tangent;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -509,14 +500,9 @@ namespace SharpGLTF.Geometry.VertexTypes
         #endregion
         #endregion
 
 
         #region data
         #region data
-
-        [VertexAttribute("POSITIONDELTA")]
+        
         public Vector3 PositionDelta;
         public Vector3 PositionDelta;
-
-        [VertexAttribute("NORMALDELTA")]
         public Vector3 NormalDelta;
         public Vector3 NormalDelta;
-
-        [VertexAttribute("TANGENTDELTA")]
         public Vector3 TangentDelta;
         public Vector3 TangentDelta;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()

+ 0 - 76
src/SharpGLTF.Toolkit/Geometry/VertexTypes/VertexMaterial.Permutations.cs

@@ -53,7 +53,6 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord;
          public Vector2 TexCoord;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -159,10 +158,7 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -275,13 +271,8 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
-
-         [VertexAttribute("TEXCOORD_2")]
          public Vector2 TexCoord2;
          public Vector2 TexCoord2;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -400,16 +391,9 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
-
-         [VertexAttribute("TEXCOORD_2")]
          public Vector2 TexCoord2;
          public Vector2 TexCoord2;
-
-         [VertexAttribute("TEXCOORD_3")]
          public Vector2 TexCoord3;
          public Vector2 TexCoord3;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -527,7 +511,6 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color;
          public Vector4 Color;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -633,10 +616,7 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color;
          public Vector4 Color;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord;
          public Vector2 TexCoord;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -749,13 +729,8 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color;
          public Vector4 Color;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -875,16 +850,9 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color;
          public Vector4 Color;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
-
-         [VertexAttribute("TEXCOORD_2")]
          public Vector2 TexCoord2;
          public Vector2 TexCoord2;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -1010,19 +978,10 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color;
          public Vector4 Color;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
-
-         [VertexAttribute("TEXCOORD_2")]
          public Vector2 TexCoord2;
          public Vector2 TexCoord2;
-
-         [VertexAttribute("TEXCOORD_3")]
          public Vector2 TexCoord3;
          public Vector2 TexCoord3;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -1147,10 +1106,7 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color0;
          public Vector4 Color0;
-
-         [VertexAttribute("COLOR_1", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color1;
          public Vector4 Color1;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -1263,13 +1219,8 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color0;
          public Vector4 Color0;
-
-         [VertexAttribute("COLOR_1", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color1;
          public Vector4 Color1;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord;
          public Vector2 TexCoord;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -1389,16 +1340,9 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color0;
          public Vector4 Color0;
-
-         [VertexAttribute("COLOR_1", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color1;
          public Vector4 Color1;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -1525,19 +1469,10 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color0;
          public Vector4 Color0;
-
-         [VertexAttribute("COLOR_1", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color1;
          public Vector4 Color1;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
-
-         [VertexAttribute("TEXCOORD_2")]
          public Vector2 TexCoord2;
          public Vector2 TexCoord2;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -1670,22 +1605,11 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
          #region data
          #region data
 
 
-         [VertexAttribute("COLOR_0", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color0;
          public Vector4 Color0;
-
-         [VertexAttribute("COLOR_1", ENCODING.UNSIGNED_BYTE, true)]
          public Vector4 Color1;
          public Vector4 Color1;
-
-         [VertexAttribute("TEXCOORD_0")]
          public Vector2 TexCoord0;
          public Vector2 TexCoord0;
-
-         [VertexAttribute("TEXCOORD_1")]
          public Vector2 TexCoord1;
          public Vector2 TexCoord1;
-
-         [VertexAttribute("TEXCOORD_2")]
          public Vector2 TexCoord2;
          public Vector2 TexCoord2;
-
-         [VertexAttribute("TEXCOORD_3")]
          public Vector2 TexCoord3;
          public Vector2 TexCoord3;
 
 
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
          IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()

+ 7 - 5
src/SharpGLTF.Toolkit/Geometry/VertexTypes/VertexMaterial.Permutations.tt

@@ -93,19 +93,21 @@ void WriteVertexMaterialPermutation(int colorCount, int textureCount)
 
 
     for(int i=0; i < colorCount; ++i)
     for(int i=0; i < colorCount; ++i)
     {
     {
-        WriteLine($"[VertexAttribute(\"COLOR_{i}\", ENCODING.UNSIGNED_BYTE, true)]");
+        // WriteLine($"[VertexAttribute(\"COLOR_{i}\", ENCODING.UNSIGNED_BYTE, true)]");
         WriteLine($"public Vector4 {colorsSet[i]};");
         WriteLine($"public Vector4 {colorsSet[i]};");
-        WriteLine("");
+        // WriteLine("");
     }
     }
 
 
     for(int i=0; i < textureCount; ++i)
     for(int i=0; i < textureCount; ++i)
     {
     {
-        WriteLine($"[VertexAttribute(\"TEXCOORD_{i}\")]");
+        // WriteLine($"[VertexAttribute(\"TEXCOORD_{i}\")]");
         WriteLine($"public Vector2 {texcrdSet[i]};");
         WriteLine($"public Vector2 {texcrdSet[i]};");
-        WriteLine("");
+        // WriteLine("");
     }
     }
 
 
-    WriteLine("IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetAttributes()");
+    WriteLine("");
+
+    WriteLine("IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()");
     WriteLine("{"); PushIndent("    ");
     WriteLine("{"); PushIndent("    ");
     for (int i=0; i < colorCount; ++i)   { var name = "COLOR_" + i; WriteLine($"yield return new KeyValuePair<string, AttributeFormat>(\"{name}\", new AttributeFormat(Schema2.DimensionType.VEC4, ENCODING.UNSIGNED_BYTE, true));"); }
     for (int i=0; i < colorCount; ++i)   { var name = "COLOR_" + i; WriteLine($"yield return new KeyValuePair<string, AttributeFormat>(\"{name}\", new AttributeFormat(Schema2.DimensionType.VEC4, ENCODING.UNSIGNED_BYTE, true));"); }
     for (int i=0; i < textureCount; ++i) { var name = "TEXCOORD_" + i; WriteLine($"yield return new KeyValuePair<string, AttributeFormat>(\"{name}\", new AttributeFormat(Schema2.DimensionType.VEC2));"); }
     for (int i=0; i < textureCount; ++i) { var name = "TEXCOORD_" + i; WriteLine($"yield return new KeyValuePair<string, AttributeFormat>(\"{name}\", new AttributeFormat(Schema2.DimensionType.VEC2));"); }

+ 6 - 13
src/SharpGLTF.Toolkit/Geometry/VertexTypes/VertexMaterial.cs

@@ -249,18 +249,11 @@ namespace SharpGLTF.Geometry.VertexTypes
         #region data
         #region data
 
 
         public static VertexMaterialDelta Zero => new VertexMaterialDelta(Vector4.Zero, Vector4.Zero, Vector2.Zero, Vector2.Zero);
         public static VertexMaterialDelta Zero => new VertexMaterialDelta(Vector4.Zero, Vector4.Zero, Vector2.Zero, Vector2.Zero);
-
-        [VertexAttribute("COLOR_0DELTA", ENCODING.UNSIGNED_BYTE, true)]
-        public Vector4 Color0Delta;
-
-        [VertexAttribute("COLOR_1DELTA", ENCODING.UNSIGNED_BYTE, true)]
-        public Vector4 Color1Delta;
-
-        [VertexAttribute("TEXCOORD_0DELTA")]
-        public Vector2 TexCoord0Delta;
-
-        [VertexAttribute("TEXCOORD_1DELTA")]
-        public Vector2 TexCoord1Delta;
+                
+        public Vector4 Color0Delta;        
+        public Vector4 Color1Delta;        
+        public Vector2 TexCoord0Delta;        
+        public Vector2 TexCoord1Delta;        
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         {
         {
@@ -268,7 +261,7 @@ namespace SharpGLTF.Geometry.VertexTypes
             yield return new KeyValuePair<string, AttributeFormat>("COLOR_1DELTA", new AttributeFormat(Schema2.DimensionType.VEC4, ENCODING.UNSIGNED_BYTE, true));
             yield return new KeyValuePair<string, AttributeFormat>("COLOR_1DELTA", new AttributeFormat(Schema2.DimensionType.VEC4, ENCODING.UNSIGNED_BYTE, true));
 
 
             yield return new KeyValuePair<string, AttributeFormat>("TEXCOORD_0DELTA", new AttributeFormat(Schema2.DimensionType.VEC2));
             yield return new KeyValuePair<string, AttributeFormat>("TEXCOORD_0DELTA", new AttributeFormat(Schema2.DimensionType.VEC2));
-            yield return new KeyValuePair<string, AttributeFormat>("TEXCOORD_1DELTA", new AttributeFormat(Schema2.DimensionType.VEC2));            
+            yield return new KeyValuePair<string, AttributeFormat>("TEXCOORD_1DELTA", new AttributeFormat(Schema2.DimensionType.VEC2));
         }
         }
 
 
         /// <inheritdoc/>
         /// <inheritdoc/>

+ 6 - 12
src/SharpGLTF.Toolkit/Geometry/VertexTypes/VertexSkinning.cs

@@ -130,8 +130,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         /// <remarks>
         /// <remarks>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// Consider using the constructor, or setter methods like<see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
         /// Consider using the constructor, or setter methods like<see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
-        /// </remarks>
-        [VertexAttribute("JOINTS_0", ENCODING.UNSIGNED_SHORT, false)]
+        /// </remarks>        
         public Vector4 Joints;
         public Vector4 Joints;
 
 
         /// <summary>
         /// <summary>
@@ -140,8 +139,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         /// <remarks>
         /// <remarks>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
-        /// </remarks>
-        [VertexAttribute("WEIGHTS_0")]
+        /// </remarks>        
         public Vector4 Weights;
         public Vector4 Weights;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -275,8 +273,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         /// <remarks>
         /// <remarks>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
-        /// </remarks>
-        [VertexAttribute("JOINTS_0", ENCODING.UNSIGNED_SHORT, false)]
+        /// </remarks>        
         public Vector4 Joints0;
         public Vector4 Joints0;
 
 
         /// <summary>
         /// <summary>
@@ -285,8 +282,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         /// <remarks>
         /// <remarks>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// <para><b>⚠️ AVOID SETTING THIS VALUE DIRECTLY ⚠️</b></para>
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
-        /// </remarks>
-        [VertexAttribute("JOINTS_1", ENCODING.UNSIGNED_SHORT, false)]
+        /// </remarks>        
         public Vector4 Joints1;
         public Vector4 Joints1;
 
 
         /// <summary>
         /// <summary>
@@ -295,8 +291,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         /// <remarks>
         /// <remarks>
         /// <para><b>⚠️ AVOID SETTING THESE VALUES DIRECTLY ⚠️</b></para>
         /// <para><b>⚠️ AVOID SETTING THESE VALUES DIRECTLY ⚠️</b></para>
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
-        /// </remarks>
-        [VertexAttribute("WEIGHTS_0")]
+        /// </remarks>        
         public Vector4 Weights0;
         public Vector4 Weights0;
 
 
         /// <summary>
         /// <summary>
@@ -305,8 +300,7 @@ namespace SharpGLTF.Geometry.VertexTypes
         /// <remarks>
         /// <remarks>
         /// <para><b>⚠️ AVOID SETTING THESE VALUES DIRECTLY ⚠️</b></para>
         /// <para><b>⚠️ AVOID SETTING THESE VALUES DIRECTLY ⚠️</b></para>
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
         /// Consider using the constructor, or setter methods like <see cref="SetBindings(in SparseWeight8)"/> instead of setting this value directly.
-        /// </remarks>
-        [VertexAttribute("WEIGHTS_1")]
+        /// </remarks>        
         public Vector4 Weights1;
         public Vector4 Weights1;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()

+ 2 - 93
src/SharpGLTF.Toolkit/Geometry/VertexTypes/VertexUtils.Accessors.cs

@@ -145,12 +145,7 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
             var array = attributes.ToArray();
             var array = attributes.ToArray();
 
 
-            MemoryAccessInfo.SetInterleavedInfo(array, 0, vertexCount);
-
-            /*
-            var legacyArray = _GetVertexAttributesLegacy(firstVertex, vertexCount, vertexEncoding);
-            if (!array.SequenceEqual(legacyArray)) throw new InvalidOperationException();
-            */
+            MemoryAccessInfo.SetInterleavedInfo(array, 0, vertexCount);            
 
 
             return array;
             return array;
         }        
         }        
@@ -213,92 +208,6 @@ namespace SharpGLTF.Geometry.VertexTypes
             }
             }
 
 
             return dst;
             return dst;
-        }
-
-        // legacy
-
-        /*
-        private static MemoryAccessInfo[] _GetVertexAttributesLegacy(this IVertexBuilder firstVertex, int vertexCount, PackedEncoding vertexEncoding)
-        {
-            var tvg = firstVertex.GetGeometry().GetType();
-            var tvm = firstVertex.GetMaterial().GetType();
-            var tvs = firstVertex.GetSkinning().GetType();
-
-            Guard.HasDynamicallyAccessedMembers(tvg, false, false, false, true, nameof(firstVertex));
-            Guard.HasDynamicallyAccessedMembers(tvm, false, false, false, true, nameof(firstVertex));
-            Guard.HasDynamicallyAccessedMembers(tvs, false, false, false, true, nameof(firstVertex));
-
-            var attributes = new List<MemoryAccessInfo>();
-
-            foreach (var finfo in tvg.GetFields())
-            {
-                var attribute = _GetMemoryAccessInfo(finfo);
-                if (attribute.HasValue) attributes.Add(attribute.Value);
-            }
-
-            foreach (var finfo in tvm.GetFields())
-            {
-                var attribute = _GetMemoryAccessInfo(finfo);
-                if (attribute.HasValue)
-                {
-                    var a = attribute.Value;
-                    if (a.Name.StartsWith("COLOR_", StringComparison.OrdinalIgnoreCase))
-                    {
-                        if (vertexEncoding.ColorEncoding.HasValue)
-                        {
-                            a.Encoding = vertexEncoding.ColorEncoding.Value;
-                            a.Normalized = a.Encoding != ENCODING.FLOAT;
-                        }
-                    }
-
-                    attributes.Add(a);
-                }
-            }
-
-            foreach (var finfo in tvs.GetFields())
-            {
-                var attribute = _GetMemoryAccessInfo(finfo);
-                if (attribute.HasValue)
-                {
-                    var a = attribute.Value;
-                    if (a.Name.StartsWith("JOINTS_", StringComparison.OrdinalIgnoreCase)) a.Encoding = vertexEncoding.JointsEncoding.Value;
-                    if (a.Name.StartsWith("WEIGHTS_", StringComparison.OrdinalIgnoreCase))
-                    {
-                        a.Encoding = vertexEncoding.WeightsEncoding.Value;
-                        if (a.Encoding != ENCODING.FLOAT) a.Normalized = true;
-                    }
-
-                    attributes.Add(a);
-                }
-            }
-
-            var array = attributes.ToArray();
-
-            MemoryAccessInfo.SetInterleavedInfo(array, 0, vertexCount);
-
-            return array;
-        }
-
-        private static MemoryAccessInfo? _GetMemoryAccessInfo(System.Reflection.FieldInfo finfo)
-        {
-            var attribute = finfo.GetCustomAttributes(true)
-                    .OfType<VertexAttributeAttribute>()
-                    .FirstOrDefault();
-
-            if (attribute == null) return null;
-
-            var dimensions = (DIMENSIONS?)null;
-
-            if (finfo.FieldType == typeof(Single)) dimensions = DIMENSIONS.SCALAR;
-            if (finfo.FieldType == typeof(Vector2)) dimensions = DIMENSIONS.VEC2;
-            if (finfo.FieldType == typeof(Vector3)) dimensions = DIMENSIONS.VEC3;
-            if (finfo.FieldType == typeof(Vector4)) dimensions = DIMENSIONS.VEC4;
-            if (finfo.FieldType == typeof(Quaternion)) dimensions = DIMENSIONS.VEC4;
-            if (finfo.FieldType == typeof(Matrix4x4)) dimensions = DIMENSIONS.MAT4;
-
-            if (dimensions == null) throw new ArgumentException($"invalid type {finfo.FieldType}");
-
-            return new MemoryAccessInfo(attribute.Name, 0, 0, 0, dimensions.Value, attribute.Encoding, attribute.Normalized);
-        }*/
+        }        
     }
     }
 }
 }

+ 1 - 5
tests/SharpGLTF.Cesium.Tests/VertexPointcloud.cs

@@ -26,13 +26,9 @@ namespace SharpGLTF
         public const string INTENSITYATTRIBUTENAME = "_INTENSITY";
         public const string INTENSITYATTRIBUTENAME = "_INTENSITY";
         public const string CLASSIFICATIONATTRIBUTENAME = "_CLASSIFICATION";
         public const string CLASSIFICATIONATTRIBUTENAME = "_CLASSIFICATION";
 
 
-        [VertexAttribute("COLOR_0", EncodingType.UNSIGNED_BYTE, true)]
+        
         public Vector4 Color;
         public Vector4 Color;
-
-        [VertexAttribute(INTENSITYATTRIBUTENAME, EncodingType.FLOAT, false)]
         public float Intensity;
         public float Intensity;
-        
-        [VertexAttribute(CLASSIFICATIONATTRIBUTENAME, EncodingType.FLOAT, false)]
         public float Classification;
         public float Classification;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()

+ 1 - 2
tests/SharpGLTF.Cesium.Tests/VertexWithFeatureId.cs

@@ -27,8 +27,7 @@ namespace SharpGLTF
         }
         }
 
 
         public const string CUSTOMATTRIBUTENAME = "_FEATURE_ID_0";
         public const string CUSTOMATTRIBUTENAME = "_FEATURE_ID_0";
-
-        [VertexAttribute(CUSTOMATTRIBUTENAME, EncodingType.FLOAT, false)]
+        
         public float BatchId;
         public float BatchId;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()

+ 2 - 5
tests/SharpGLTF.Cesium.Tests/VertexWithFeatureIds.cs

@@ -24,11 +24,8 @@ namespace SharpGLTF
 
 
         public const string FEATUREID0ATTRIBUTENAME = "_FEATURE_ID_0";
         public const string FEATUREID0ATTRIBUTENAME = "_FEATURE_ID_0";
         public const string FEATUREID1ATTRIBUTENAME = "_FEATURE_ID_1";
         public const string FEATUREID1ATTRIBUTENAME = "_FEATURE_ID_1";
-
-        [VertexAttribute(FEATUREID0ATTRIBUTENAME, EncodingType.FLOAT, false)]
-        public float FeatureId0;
-
-        [VertexAttribute(FEATUREID1ATTRIBUTENAME, EncodingType.FLOAT, false)]
+        
+        public float FeatureId0;        
         public float FeatureId1;
         public float FeatureId1;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()

+ 5 - 13
tests/SharpGLTF.Toolkit.Tests/Geometry/VertexTypes/CustomVertices.cs

@@ -51,14 +51,9 @@ namespace SharpGLTF.Geometry.VertexTypes
         #region data
         #region data
 
 
         public const string CUSTOMATTRIBUTENAME = "_CUSTOM_0";
         public const string CUSTOMATTRIBUTENAME = "_CUSTOM_0";
-
-        [VertexAttribute(CUSTOMATTRIBUTENAME, Schema2.EncodingType.FLOAT, false)]
-        public Single CustomId;
-
-        [VertexAttribute("COLOR_0", Schema2.EncodingType.UNSIGNED_BYTE, true)]
-        public Vector4 Color;
-
-        [VertexAttribute("TEXCOORD_0")]
+        
+        public Single CustomId;        
+        public Vector4 Color;        
         public Vector2 TexCoord;
         public Vector2 TexCoord;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
@@ -177,11 +172,8 @@ namespace SharpGLTF.Geometry.VertexTypes
 
 
         public const string CUSTOMATTRIBUTENAME0 = "_CUSTOM_0";
         public const string CUSTOMATTRIBUTENAME0 = "_CUSTOM_0";
         public const string CUSTOMATTRIBUTENAME1 = "_CUSTOM_1";
         public const string CUSTOMATTRIBUTENAME1 = "_CUSTOM_1";
-
-        [VertexAttribute(CUSTOMATTRIBUTENAME0, Schema2.EncodingType.FLOAT, false)]
-        public Single CustomId0;
-
-        [VertexAttribute(CUSTOMATTRIBUTENAME1, Schema2.EncodingType.UNSIGNED_BYTE, true)]
+        
+        public Single CustomId0;        
         public Vector4 CustomId1;
         public Vector4 CustomId1;
 
 
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()
         IEnumerable<KeyValuePair<string, AttributeFormat>> IVertexReflection.GetEncodingAttributes()