Skip to content
This repository

Added HalfVector4 and Short4 #1139

Merged
merged 2 commits into from over 1 year ago

2 participants

Steve 'Sly' Williams Tom Spilman
Steve 'Sly' Williams
Collaborator

Fixes issue #1133.
Added the HalfVector4 and Short4 types. Still missing several PackedVector types.
All projects now consistently include all currently implemented PackedVector types.

added some commits January 02, 2013
Steve 'Sly' Williams Added HalfVector4 and Short4
Fixes issue #1133.
Added the HalfVector4 and Short4 types.  Still missing several PackedVector types.
All projects now consistently include all currently implemented PackedVector types.
4708c39
Steve 'Sly' Williams Merge branch 'develop3d' of https://github.com/mono/MonoGame into pac…
…ked-vector
73f4af5
Tom Spilman
Collaborator

Looks good. Merging.

Tom Spilman tomspilman merged commit cf83009 into from January 03, 2013
Tom Spilman tomspilman closed this January 03, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Showing 2 unique commits by 1 author.

Jan 02, 2013
Steve 'Sly' Williams Added HalfVector4 and Short4
Fixes issue #1133.
Added the HalfVector4 and Short4 types.  Still missing several PackedVector types.
All projects now consistently include all currently implemented PackedVector types.
4708c39
Steve 'Sly' Williams Merge branch 'develop3d' of https://github.com/mono/MonoGame into pac…
…ked-vector
73f4af5
This page is out of date. Refresh to see the latest.
6  MonoGame.Framework/Graphics/PackedVector/HalfSingle.cs
@@ -8,7 +8,7 @@ public struct HalfSingle : IPackedVector<UInt16>, IEquatable<HalfSingle>, IPacke
8 8
 
9 9
         public HalfSingle(float single)
10 10
         {
11  
-            packedValue = HalfTypeHelper.convert(single);
  11
+            packedValue = HalfTypeHelper.Convert(single);
12 12
         }
13 13
 
14 14
         public ushort PackedValue
@@ -25,12 +25,12 @@ public ushort PackedValue
25 25
 
26 26
         public float ToSingle()
27 27
         {
28  
-            return HalfTypeHelper.convert(this.packedValue);
  28
+            return HalfTypeHelper.Convert(this.packedValue);
29 29
         }
30 30
 
31 31
         void IPackedVector.PackFromVector4(Vector4 vector)
32 32
         {
33  
-            this.packedValue = HalfTypeHelper.convert(vector.X);
  33
+            this.packedValue = HalfTypeHelper.Convert(vector.X);
34 34
         }
35 35
 
36 36
         Vector4 IPackedVector.ToVector4()
19  MonoGame.Framework/Graphics/PackedVector/HalfTypeHelper.cs
... ...
@@ -1,6 +1,9 @@
1  
-using System;
2  
-using System.Runtime.InteropServices;
  1
+// MonoGame - Copyright (C) The MonoGame Team
  2
+// This file is subject to the terms and conditions defined in
  3
+// file 'LICENSE.txt', which is part of this source code package.
3 4
 
  5
+using System;
  6
+using System.Runtime.InteropServices;
4 7
 
5 8
 namespace Microsoft.Xna.Framework.Graphics.PackedVector
6 9
 {
@@ -15,14 +18,14 @@ private struct uif
15 18
             public int i;
16 19
         }
17 20
 
18  
-        internal static UInt16 convert(float f)
  21
+        internal static UInt16 Convert(float f)
19 22
         {
20 23
             uif uif = new uif();
21 24
             uif.f = f;
22  
-            return convert(uif.i);
  25
+            return Convert(uif.i);
23 26
         }
24 27
 
25  
-        internal static UInt16 convert(int i)
  28
+        internal static UInt16 Convert(int i)
26 29
         {
27 30
             int s = (i >> 16) & 0x00008000;
28 31
             int e = ((i >> 23) & 0x000000ff) - (127 - 15);
@@ -76,7 +79,7 @@ internal static UInt16 convert(int i)
76 79
             }
77 80
         }
78 81
 
79  
-        internal static unsafe float convert(ushort value)
  82
+        internal static unsafe float Convert(ushort value)
80 83
         {
81 84
             uint rst;
82 85
             uint mantissa = (uint)(value & 1023);
@@ -92,7 +95,7 @@ internal static unsafe float convert(ushort value)
92 95
                         mantissa = mantissa << 1;
93 96
                     }
94 97
                     mantissa &= 0xfffffbff;
95  
-                    rst = ((uint)(((value & 0x8000) << 16) | ((exp + 127) << 23))) | (mantissa << 13);
  98
+                    rst = ((uint)((((uint)value & 0x8000) << 16) | ((exp + 127) << 23))) | (mantissa << 13);
96 99
                 }
97 100
                 else
98 101
                 {
@@ -101,7 +104,7 @@ internal static unsafe float convert(ushort value)
101 104
             }
102 105
             else
103 106
             {
104  
-                rst = (uint)((((value & 0x8000) << 16) | (((((value >> 10) & 0x1f) - 15) + 127) << 23)) | (mantissa << 13));
  107
+                rst = (uint)(((((uint)value & 0x8000) << 16) | ((((((uint)value >> 10) & 0x1f) - 15) + 127) << 23)) | (mantissa << 13));
105 108
             }
106 109
 
107 110
             return *(((float*)&rst));
14  MonoGame.Framework/Graphics/PackedVector/HalfVector2.cs
... ...
@@ -1,4 +1,8 @@
1  
-using System;
  1
+// MonoGame - Copyright (C) The MonoGame Team
  2
+// This file is subject to the terms and conditions defined in
  3
+// file 'LICENSE.txt', which is part of this source code package.
  4
+
  5
+using System;
2 6
 
3 7
 namespace Microsoft.Xna.Framework.Graphics.PackedVector
4 8
 {
@@ -22,16 +26,16 @@ void IPackedVector.PackFromVector4(Vector4 vector)
22 26
 
23 27
         private static uint PackHelper(float vectorX, float vectorY)
24 28
         {
25  
-            uint num2 = HalfTypeHelper.convert(vectorX);
26  
-            uint num = (uint)(HalfTypeHelper.convert(vectorY) << 0x10);
  29
+            uint num2 = HalfTypeHelper.Convert(vectorX);
  30
+            uint num = (uint)(HalfTypeHelper.Convert(vectorY) << 0x10);
27 31
             return (num2 | num);
28 32
         }
29 33
 
30 34
         public Vector2 ToVector2()
31 35
         {
32 36
             Vector2 vector;
33  
-            vector.X = HalfTypeHelper.convert((ushort)this.packedValue);
34  
-            vector.Y = HalfTypeHelper.convert((ushort)(this.packedValue >> 0x10));
  37
+            vector.X = HalfTypeHelper.Convert((ushort)this.packedValue);
  38
+            vector.Y = HalfTypeHelper.Convert((ushort)(this.packedValue >> 0x10));
35 39
             return vector;
36 40
         }
37 41
 
150  MonoGame.Framework/Graphics/PackedVector/HalfVector4.cs
... ...
@@ -0,0 +1,150 @@
  1
+// MonoGame - Copyright (C) The MonoGame Team
  2
+// This file is subject to the terms and conditions defined in
  3
+// file 'LICENSE.txt', which is part of this source code package.
  4
+
  5
+using System;
  6
+
  7
+namespace Microsoft.Xna.Framework.Graphics.PackedVector
  8
+{
  9
+    /// <summary>
  10
+    /// Packed vector type containing four 16-bit floating-point values.
  11
+    /// </summary>
  12
+    public struct HalfVector4 : IPackedVector<ulong>, IPackedVector, IEquatable<HalfVector4>
  13
+    {
  14
+        ulong packedValue;
  15
+
  16
+        /// <summary>
  17
+        /// Initializes a new instance of the HalfVector4 structure.
  18
+        /// </summary>
  19
+        /// <param name="x">Initial value for the x component.</param>
  20
+        /// <param name="y">Initial value for the y component.</param>
  21
+        /// <param name="z">Initial value for the z component.</param>
  22
+        /// <param name="w">Initial value for the q component.</param>
  23
+        public HalfVector4(float x, float y, float z, float w)
  24
+        {
  25
+            var vector = new Vector4(x, y, z, w);
  26
+            packedValue = PackHelper(ref vector);
  27
+        }
  28
+
  29
+        /// <summary>
  30
+        /// Initializes a new instance of the HalfVector4 structure.
  31
+        /// </summary>
  32
+        /// <param name="vector">A vector containing the initial values for the components of the HalfVector4 structure.</param>
  33
+        public HalfVector4(Vector4 vector)
  34
+        {
  35
+            packedValue = PackHelper(ref vector);
  36
+        }
  37
+
  38
+        /// <summary>
  39
+        /// Sets the packed representation from a Vector4.
  40
+        /// </summary>
  41
+        /// <param name="vector">The vector to create the packed representation from.</param>
  42
+        void IPackedVector.PackFromVector4(Vector4 vector)
  43
+        {
  44
+            packedValue = PackHelper(ref vector);
  45
+        }
  46
+
  47
+        /// <summary>
  48
+        /// Packs a vector into a ulong.
  49
+        /// </summary>
  50
+        /// <param name="vector">The vector containing the values to pack.</param>
  51
+        /// <returns>The ulong containing the packed values.</returns>
  52
+        static ulong PackHelper(ref Vector4 vector)
  53
+        {
  54
+            ulong num4 = (ulong)HalfTypeHelper.Convert(vector.X);
  55
+            ulong num3 = ((ulong)HalfTypeHelper.Convert(vector.Y) << 0x10);
  56
+            ulong num2 = ((ulong)HalfTypeHelper.Convert(vector.Z) << 0x20);
  57
+            ulong num1 = ((ulong)HalfTypeHelper.Convert(vector.W) << 0x30);
  58
+            return num4 | num3 | num2 | num1;
  59
+        }
  60
+
  61
+        /// <summary>
  62
+        /// Expands the packed representation into a Vector4.
  63
+        /// </summary>
  64
+        /// <returns>The expanded vector.</returns>
  65
+        public Vector4 ToVector4()
  66
+        {
  67
+            return new Vector4(
  68
+                HalfTypeHelper.Convert((ushort)packedValue),
  69
+                HalfTypeHelper.Convert((ushort)(packedValue >> 0x10)),
  70
+                HalfTypeHelper.Convert((ushort)(packedValue >> 0x20)),
  71
+                HalfTypeHelper.Convert((ushort)(packedValue >> 0x30)));
  72
+        }
  73
+
  74
+        /// <summary>
  75
+        /// Directly gets or sets the packed representation of the value.
  76
+        /// </summary>
  77
+        /// <value>The packed representation of the value.</value>
  78
+        public ulong PackedValue
  79
+        {
  80
+            get
  81
+            {
  82
+                return packedValue;
  83
+            }
  84
+            set
  85
+            {
  86
+                packedValue = value;
  87
+            }
  88
+        }
  89
+
  90
+        /// <summary>
  91
+        /// Returns a string representation of the current instance.
  92
+        /// </summary>
  93
+        /// <returns>String that represents the object.</returns>
  94
+        public override string ToString()
  95
+        {
  96
+            return ToVector4().ToString();
  97
+        }
  98
+
  99
+        /// <summary>
  100
+        /// Gets the hash code for the current instance.
  101
+        /// </summary>
  102
+        /// <returns>Hash code for the instance.</returns>
  103
+        public override int GetHashCode()
  104
+        {
  105
+            return packedValue.GetHashCode();
  106
+        }
  107
+
  108
+        /// <summary>
  109
+        /// Returns a value that indicates whether the current instance is equal to a specified object.
  110
+        /// </summary>
  111
+        /// <param name="obj">The object with which to make the comparison.</param>
  112
+        /// <returns>true if the current instance is equal to the specified object; false otherwise.</returns>
  113
+        public override bool Equals(object obj)
  114
+        {
  115
+            return ((obj is HalfVector4) && Equals((HalfVector4)obj));
  116
+        }
  117
+
  118
+        /// <summary>
  119
+        /// Returns a value that indicates whether the current instance is equal to a specified object.
  120
+        /// </summary>
  121
+        /// <param name="obj">The object with which to make the comparison.</param>
  122
+        /// <returns>true if the current instance is equal to the specified object; false otherwise.</returns>
  123
+        public bool Equals(HalfVector4 other)
  124
+        {
  125
+            return packedValue.Equals(other.packedValue);
  126
+        }
  127
+
  128
+        /// <summary>
  129
+        /// Compares the current instance of a class to another instance to determine whether they are the same.
  130
+        /// </summary>
  131
+        /// <param name="a">The object to the left of the equality operator.</param>
  132
+        /// <param name="b">The object to the right of the equality operator.</param>
  133
+        /// <returns>true if the objects are the same; false otherwise.</returns>
  134
+        public static bool operator ==(HalfVector4 a, HalfVector4 b)
  135
+        {
  136
+            return a.Equals(b);
  137
+        }
  138
+
  139
+        /// <summary>
  140
+        /// Compares the current instance of a class to another instance to determine whether they are different.
  141
+        /// </summary>
  142
+        /// <param name="a">The object to the left of the equality operator.</param>
  143
+        /// <param name="b">The object to the right of the equality operator.</param>
  144
+        /// <returns>true if the objects are different; false otherwise.</returns>
  145
+        public static bool operator !=(HalfVector4 a, HalfVector4 b)
  146
+        {
  147
+            return !a.Equals(b);
  148
+        }
  149
+    }
  150
+}
23  MonoGame.Framework/Graphics/PackedVector/Short2.cs
@@ -60,31 +60,36 @@ public Short2 (Single x,Single y)
60 60
 
61 61
 		public static bool operator !=(Short2 a, Short2 b)
62 62
 		{
63  
-			return !a.Equals (b);
  63
+			return a.PackedValue != b.PackedValue;
64 64
 		}
65 65
 
66 66
 		public static bool operator ==(Short2 a, Short2 b)
67 67
 		{
68  
-			return a.Equals (b);
  68
+			return a.PackedValue == b.PackedValue;
69 69
 		}
70 70
 
71  
-		public uint PackedValue { 
72  
-			get { 
  71
+		public uint PackedValue
  72
+        { 
  73
+			get
  74
+            { 
73 75
 				return _short2Packed; 
74 76
 			} 
75  
-			set { 
  77
+			set
  78
+            { 
76 79
 				_short2Packed = value; 
77 80
 			} 
78 81
 		}
79 82
 
80 83
 		public override bool Equals (object obj)
81 84
 		{
82  
-			throw new NotImplementedException ();
  85
+            if (obj is Short2)
  86
+                return this == (Short2)obj;
  87
+            return false;
83 88
 		}
84 89
 
85 90
 		public bool Equals (Short2 other)
86 91
 		{
87  
-			throw new NotImplementedException ();
  92
+            return this == other;
88 93
 		}
89 94
 
90 95
 		public override int GetHashCode ()
@@ -94,9 +99,7 @@ public override int GetHashCode ()
94 99
 
95 100
 		public override string ToString ()
96 101
 		{
97  
-			// not sure what to return here
98  
-			// microsoft returns some funky formatted string
99  
-			return string.Format("{0} / {1}", (short)(_short2Packed & 0xFFFF), (short)(_short2Packed >> 0x10) );
  102
+            return _short2Packed.ToString("x8");
100 103
 		}
101 104
 
102 105
 		public Vector2 ToVector2 ()
157  MonoGame.Framework/Graphics/PackedVector/Short4.cs
... ...
@@ -0,0 +1,157 @@
  1
+// MonoGame - Copyright (C) The MonoGame Team
  2
+// This file is subject to the terms and conditions defined in
  3
+// file 'LICENSE.txt', which is part of this source code package.
  4
+
  5
+using System;
  6
+
  7
+namespace Microsoft.Xna.Framework.Graphics.PackedVector
  8
+{
  9
+    /// <summary>
  10
+    /// Packed vector type containing four 16-bit signed integer values.
  11
+    /// </summary>
  12
+    public struct Short4 : IPackedVector<ulong>, IEquatable<Short4>
  13
+    {
  14
+        ulong packedValue;
  15
+
  16
+        /// <summary>
  17
+        /// Initializes a new instance of the Short4 class.
  18
+        /// </summary>
  19
+        /// <param name="vector">A vector containing the initial values for the components of the Short4 structure.</param>
  20
+        public Short4(Vector4 vector)
  21
+        {
  22
+            packedValue = Pack(ref vector);
  23
+        }
  24
+
  25
+        /// <summary>
  26
+        /// Initializes a new instance of the Short4 class.
  27
+        /// </summary>
  28
+        /// <param name="x">Initial value for the x component.</param>
  29
+        /// <param name="y">Initial value for the y component.</param>
  30
+        /// <param name="z">Initial value for the z component.</param>
  31
+        /// <param name="w">Initial value for the w component.</param>
  32
+        public Short4(float x, float y, float z, float w)
  33
+        {
  34
+            var vector = new Vector4(x, y, z, w);
  35
+            packedValue = Pack(ref vector);
  36
+        }
  37
+
  38
+        /// <summary>
  39
+        /// Compares the current instance of a class to another instance to determine whether they are different.
  40
+        /// </summary>
  41
+        /// <param name="a">The object to the left of the equality operator.</param>
  42
+        /// <param name="b">The object to the right of the equality operator.</param>
  43
+        /// <returns>true if the objects are different; false otherwise.</returns>
  44
+        public static bool operator !=(Short4 a, Short4 b)
  45
+        {
  46
+            return a.PackedValue != b.PackedValue;
  47
+        }
  48
+
  49
+        /// <summary>
  50
+        /// Compares the current instance of a class to another instance to determine whether they are the same.
  51
+        /// </summary>
  52
+        /// <param name="a">The object to the left of the equality operator.</param>
  53
+        /// <param name="b">The object to the right of the equality operator.</param>
  54
+        /// <returns>true if the objects are the same; false otherwise.</returns>
  55
+        public static bool operator ==(Short4 a, Short4 b)
  56
+        {
  57
+            return a.PackedValue == b.PackedValue;
  58
+        }
  59
+
  60
+        /// <summary>
  61
+        /// Directly gets or sets the packed representation of the value.
  62
+        /// </summary>
  63
+        /// <value>The packed representation of the value.</value>
  64
+        public ulong PackedValue
  65
+        {
  66
+            get
  67
+            {
  68
+                return packedValue;
  69
+            }
  70
+            set
  71
+            {
  72
+                packedValue = value;
  73
+            }
  74
+        }
  75
+
  76
+        /// <summary>
  77
+        /// Returns a value that indicates whether the current instance is equal to a specified object.
  78
+        /// </summary>
  79
+        /// <param name="obj">The object with which to make the comparison.</param>
  80
+        /// <returns>true if the current instance is equal to the specified object; false otherwise.</returns>
  81
+        public override bool Equals(object obj)
  82
+        {
  83
+            if (obj is Short4)
  84
+                return this == (Short4)obj;
  85
+            return false;
  86
+        }
  87
+
  88
+        /// <summary>
  89
+        /// Returns a value that indicates whether the current instance is equal to a specified object.
  90
+        /// </summary>
  91
+        /// <param name="other">The object with which to make the comparison.</param>
  92
+        /// <returns>true if the current instance is equal to the specified object; false otherwise.</returns>
  93
+        public bool Equals(Short4 other)
  94
+        {
  95
+            return this == other;
  96
+        }
  97
+
  98
+        /// <summary>
  99
+        /// Gets the hash code for the current instance.
  100
+        /// </summary>
  101
+        /// <returns>Hash code for the instance.</returns>
  102
+        public override int GetHashCode()
  103
+        {
  104
+            return packedValue.GetHashCode();
  105
+        }
  106
+
  107
+        /// <summary>
  108
+        /// Returns a string representation of the current instance.
  109
+        /// </summary>
  110
+        /// <returns>String that represents the object.</returns>
  111
+        public override string ToString()
  112
+        {
  113
+            return packedValue.ToString("x16");
  114
+        }
  115
+
  116
+        /// <summary>
  117
+        /// Packs a vector into a ulong.
  118
+        /// </summary>
  119
+        /// <param name="vector">The vector containing the values to pack.</param>
  120
+        /// <returns>The ulong containing the packed values.</returns>
  121
+        static ulong Pack(ref Vector4 vector)
  122
+        {
  123
+            const float maxPos = 0x7FFF; // Largest two byte positive number 0xFFFF >> 1; 
  124
+            const float minNeg = ~(int)maxPos; // two's complement
  125
+
  126
+            // clamp the value between min and max values
  127
+            var word4 = (ulong)((int)Math.Max(Math.Min(vector.X, maxPos), minNeg) & 0xFFFF);
  128
+            var word3 = (ulong)(((int)Math.Max(Math.Min(vector.Y, maxPos), minNeg) & 0xFFFF) << 0x10);
  129
+            var word2 = (ulong)(((int)Math.Max(Math.Min(vector.Z, maxPos), minNeg) & 0xFFFF) << 0x20);
  130
+            var word1 = (ulong)(((int)Math.Max(Math.Min(vector.W, maxPos), minNeg) & 0xFFFF) << 0x30);
  131
+
  132
+            return word4 | word3 | word2 | word1;
  133
+        }
  134
+
  135
+        /// <summary>
  136
+        /// Sets the packed representation from a Vector4.
  137
+        /// </summary>
  138
+        /// <param name="vector">The vector to create the packed representation from.</param>
  139
+        void IPackedVector.PackFromVector4(Vector4 vector)
  140
+        {
  141
+            packedValue = Pack(ref vector);
  142
+        }
  143
+
  144
+        /// <summary>
  145
+        /// Expands the packed representation into a Vector4.
  146
+        /// </summary>
  147
+        /// <returns>The expanded vector.</returns>
  148
+        public Vector4 ToVector4()
  149
+        {
  150
+            return new Vector4(
  151
+                (short)(packedValue & 0xFFFF),
  152
+                (short)((packedValue >> 0x10) & 0xFFFF),
  153
+                (short)((packedValue >> 0x20) & 0xFFFF),
  154
+                (short)((packedValue >> 0x30) & 0xFFFF));
  155
+        }
  156
+    }
  157
+}
11  MonoGame.Framework/MonoGame.Framework.Android.csproj
@@ -120,10 +120,6 @@
120 120
     <Compile Include="Graphics\ModelMeshCollection.cs" />
121 121
     <Compile Include="Graphics\ModelMeshPart.cs" />
122 122
     <Compile Include="Graphics\ModelMeshPartCollection.cs" />
123  
-    <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
124  
-    <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
125  
-    <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
126  
-    <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
127 123
     <Compile Include="Graphics\PresentationParameters.cs" />
128 124
     <Compile Include="Graphics\PresentInterval.cs" />
129 125
     <Compile Include="Graphics\States\SamplerState.cs" />
@@ -367,6 +363,13 @@
367 363
     <Compile Include="Net\SendDataOptions.cs" />
368 364
     <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
369 365
     <Compile Include="Graphics\PackedVector\Short2.cs" />
  366
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
  367
+    <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
  368
+    <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
  369
+    <Compile Include="Graphics\PackedVector\HalfVector2.cs" />
  370
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
  371
+    <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
  372
+    <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
370 373
     <Compile Include="GamerServices\GamerCollection.cs" />
371 374
     <Compile Include="GamerServices\GamerPresenceMode.cs" />
372 375
     <Compile Include="GamerServices\GamerPrivilegeSetting.cs" />
6  MonoGame.Framework/MonoGame.Framework.Linux.csproj
@@ -236,8 +236,6 @@
236 236
     <Compile Include="GamerServices\GamerCollection.cs" />
237 237
     <Compile Include="Linux\GamerServices\Guide.cs" />
238 238
     <Compile Include="GamerServices\MessageBoxIcon.cs" />
239  
-    <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
240  
-    <Compile Include="Graphics\PackedVector\Short2.cs" />
241 239
     <Compile Include="Graphics\SamplerStateCollection.cs" />
242 240
     <Compile Include="Content\ContentSerializerAttribute.cs" />
243 241
     <Compile Include="Content\ContentSerializerIgnoreAttribute.cs" />
@@ -349,9 +347,13 @@
349 347
     <Compile Include="Graphics\Effect\EffectPass.cs" />
350 348
     <Compile Include="Graphics\Effect\EnvironmentMapEffect.cs" />
351 349
     <Compile Include="Graphics\Effect\SkinnedEffect.cs" />
  350
+    <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
  351
+    <Compile Include="Graphics\PackedVector\Short2.cs" />
  352
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
352 353
     <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
353 354
     <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
354 355
     <Compile Include="Graphics\PackedVector\HalfVector2.cs" />
  356
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
355 357
     <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
356 358
     <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
357 359
     <Compile Include="Graphics\Vertices\DynamicIndexBuffer.cs" />
2  MonoGame.Framework/MonoGame.Framework.MacOS.csproj
@@ -272,9 +272,11 @@
272 272
     <Compile Include="GamerServices\MessageBoxIcon.cs" />
273 273
     <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
274 274
     <Compile Include="Graphics\PackedVector\Short2.cs" />
  275
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
275 276
     <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
276 277
     <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
277 278
     <Compile Include="Graphics\PackedVector\HalfVector2.cs" />
  279
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
278 280
     <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
279 281
     <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
280 282
     <Compile Include="Graphics\PresentationParameters.cs" />
7  MonoGame.Framework/MonoGame.Framework.PSMobile.csproj
@@ -219,6 +219,13 @@
219 219
     <Compile Include="GamerServices\MessageBoxIcon.cs" />
220 220
     <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
221 221
     <Compile Include="Graphics\PackedVector\Short2.cs" />
  222
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
  223
+    <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
  224
+    <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
  225
+    <Compile Include="Graphics\PackedVector\HalfVector2.cs" />
  226
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
  227
+    <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
  228
+    <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
222 229
     <Compile Include="Graphics\SamplerStateCollection.cs" />
223 230
     <Compile Include="Content\ContentSerializerAttribute.cs" />
224 231
     <Compile Include="Content\ContentSerializerIgnoreAttribute.cs" />
2  MonoGame.Framework/MonoGame.Framework.Windows.csproj
@@ -128,6 +128,8 @@
128 128
     <Compile Include="Desktop\Input\GamePad.cs" />
129 129
     <Compile Include="Desktop\Input\Input.cs" />
130 130
     <Compile Include="Desktop\Input\Joystick.cs" />
  131
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
  132
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
131 133
     <Compile Include="Graphics\Shader\ConstantBufferCollection.cs" />
132 134
     <Compile Include="Input\Mouse.cs" />
133 135
     <Compile Include="Desktop\Input\PadConfig.cs" />
9  MonoGame.Framework/MonoGame.Framework.Windows8.csproj
@@ -98,8 +98,6 @@
98 98
     <Compile Include="Graphics\ModelMeshPart.cs" />
99 99
     <Compile Include="Graphics\ModelMeshPartCollection.cs" />
100 100
     <Compile Include="Graphics\OcclusionQuery.cs" />
101  
-    <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
102  
-    <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
103 101
     <Compile Include="Graphics\PresentationParameters.cs" />
104 102
     <Compile Include="Graphics\PresentInterval.cs" />
105 103
     <Compile Include="Graphics\RenderTarget2D.cs" />
@@ -221,6 +219,13 @@
221 219
     <Compile Include="Graphics\ImageEx.cs" />
222 220
     <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
223 221
     <Compile Include="Graphics\PackedVector\Short2.cs" />
  222
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
  223
+    <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
  224
+    <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
  225
+    <Compile Include="Graphics\PackedVector\HalfVector2.cs" />
  226
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
  227
+    <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
  228
+    <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
224 229
     <Compile Include="Graphics\RenderTargetBinding.cs" />
225 230
     <Compile Include="Graphics\SamplerStateCollection.cs" />
226 231
     <Compile Include="Graphics\States\CompareFunction.cs" />
10  MonoGame.Framework/MonoGame.Framework.iOS.csproj
@@ -75,8 +75,6 @@
75 75
   </ItemGroup>
76 76
   <ItemGroup>
77 77
     <Compile Include="Properties\AssemblyInfo.cs" />
78  
-    <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
79  
-    <Compile Include="Graphics\PackedVector\Short2.cs" />
80 78
     <Compile Include="Graphics\Effect\BasicEffect.cs" />
81 79
     <Compile Include="Graphics\Effect\Effect.cs" />
82 80
     <Compile Include="Graphics\Effect\EffectParameter.cs" />
@@ -353,7 +351,15 @@
353 351
     <Compile Include="Graphics\ModelMeshPartCollection.cs" />
354 352
     <Compile Include="Graphics\CubeMapFace.cs" />
355 353
     <Compile Include="Graphics\Texture2D.cs" />
  354
+    <Compile Include="Graphics\PackedVector\IPackedVector.cs" />
  355
+    <Compile Include="Graphics\PackedVector\Short2.cs" />
  356
+    <Compile Include="Graphics\PackedVector\Short4.cs" />
  357
+    <Compile Include="Graphics\PackedVector\HalfSingle.cs" />
  358
+    <Compile Include="Graphics\PackedVector\HalfTypeHelper.cs" />
  359
+    <Compile Include="Graphics\PackedVector\HalfVector2.cs" />
  360
+    <Compile Include="Graphics\PackedVector\HalfVector4.cs" />
356 361
     <Compile Include="Graphics\PackedVector\NormalizedShort2.cs" />
  362
+    <Compile Include="Graphics\PackedVector\NormalizedShort4.cs" />
357 363
     <Compile Include="Content\ContentExtensions.cs" />
358 364
     <Compile Include="Content\ContentLoadException.cs" />
359 365
     <Compile Include="Content\ContentManager.cs" />
Commit_comment_tip

Tip: You can add notes to lines in a file. Hover to the left of a line to make a note

Something went wrong with that request. Please try again.