using System.Runtime.InteropServices; [StructLayout(LayoutKind.Explicit)] internal struct UBER_RGBA_ByteArray { [FieldOffset(0)] public byte Byte0; [FieldOffset(1)] public byte Byte1; [FieldOffset(2)] public byte Byte2; [FieldOffset(3)] public byte Byte3; [FieldOffset(4)] public byte Byte4; [FieldOffset(5)] public byte Byte5; [FieldOffset(6)] public byte Byte6; [FieldOffset(7)] public byte Byte7; [FieldOffset(8)] public byte Byte8; [FieldOffset(9)] public byte Byte9; [FieldOffset(10)] public byte Byte10; [FieldOffset(11)] public byte Byte11; [FieldOffset(12)] public byte Byte12; [FieldOffset(13)] public byte Byte13; [FieldOffset(14)] public byte Byte14; [FieldOffset(15)] public byte Byte15; [FieldOffset(0)] public float R; [FieldOffset(4)] public float G; [FieldOffset(8)] public float B; [FieldOffset(12)] public float A; }