/// <summary> /// Expands the packed representation into a Vector4. /// </summary> /// <returns>The expanded vector.</returns> public Vector4 ToVector4() { return(new Vector4( HalfTypeHelper.Convert((ushort)packedValue), HalfTypeHelper.Convert((ushort)(packedValue >> 0x10)), HalfTypeHelper.Convert((ushort)(packedValue >> 0x20)), HalfTypeHelper.Convert((ushort)(packedValue >> 0x30)))); }
public Vector2 ToVector2() { Vector2 vector; vector.X = HalfTypeHelper.Convert((ushort)this.packedValue); vector.Y = HalfTypeHelper.Convert((ushort)(this.packedValue >> 0x10)); return(vector); }
/// <summary> /// Packs a vector into a ulong. /// </summary> /// <param name="vector">The vector containing the values to pack.</param> /// <returns>The ulong containing the packed values.</returns> private static ulong PackHelper(ref Vector4 vector) { ulong num4 = (ulong)HalfTypeHelper.Convert(vector.X); ulong num3 = ((ulong)HalfTypeHelper.Convert(vector.Y) << 0x10); ulong num2 = ((ulong)HalfTypeHelper.Convert(vector.Z) << 0x20); ulong num1 = ((ulong)HalfTypeHelper.Convert(vector.W) << 0x30); return(num4 | num3 | num2 | num1); }
void IPackedVector.PackFromVector4(Vector4 vector) { this.packedValue = HalfTypeHelper.Convert(vector.X); }
public float ToSingle() { return(HalfTypeHelper.Convert(this.packedValue)); }
public HalfSingle(float single) { packedValue = HalfTypeHelper.Convert(single); }