@@ -4,15 +4,15 @@ namespace GAIL.Graphics
44 /// The type of the attribute. <para/>
55 ///
66 /// Long = 64-bit <br/>
7- /// (Default) = 32-bit<br/>
7+ /// (Default) / Int = 32-bit<br/>
88 /// Short = 16-bit <br/>
99 /// Byte = 8-bit <para/>
1010 /// U- = unsigned (no negatives) <br/>
1111 /// -Float = signed, floating-point number <br/>
1212 /// Int (default) = signed, integer <br/>
1313 /// -(2, 3, 4) = multiple components
1414 /// </summary>
15- public enum AttributeType {
15+ public enum FormatType : int {
1616 ///
1717 Byte = Silk . NET . Vulkan . Format . R8Sint ,
1818 ///
@@ -104,6 +104,35 @@ public enum AttributeType {
104104 ///
105105 Float4 = Silk . NET . Vulkan . Format . R32G32B32A32Sfloat ,
106106 ///
107- LongFloat4 = Silk . NET . Vulkan . Format . R64G64B64A64Sfloat ,
107+ LongFloat4 = Silk . NET . Vulkan . Format . R64G64B64A64Sfloat ,
108+ }
109+
110+ /// <summary>
111+ /// Represents a class that describes a format.
112+ /// </summary>
113+ public class FormatInfo {
114+ /// <summary>
115+ /// The type of the format (see: <see cref="FormatType"/>).
116+ /// </summary>
117+ public FormatType type ;
118+ /// <summary>
119+ /// The size of the type.
120+ /// </summary>
121+ public uint size ;
122+ /// <summary>
123+ /// Creates a new format info.
124+ /// </summary>
125+ /// <param name="type">The type of the format (see: <see cref="FormatType"/>).</param>
126+ /// <param name="size">The size of the type.</param>
127+ public FormatInfo ( FormatType type , uint size ) {
128+ this . type = type ;
129+ this . size = size ;
130+ }
131+ /// <summary>
132+ /// Creates a new format info from a Vulkan type.
133+ /// </summary>
134+ /// <param name="type">The Vulkan type of the format.</param>
135+ /// <param name="size">The size of the type.</param>
136+ public FormatInfo ( Silk . NET . Vulkan . Format type , uint size ) : this ( ( FormatType ) type , size ) { }
108137 }
109138}
0 commit comments