public static void CopyAlpha(ref Texture2D TextureTo, Texture2D TextureFrom)
{
if (TextureTo.Width != TextureFrom.Width || TextureTo.Height != TextureFrom.Height)
{
return;
}
var size = TextureTo.Width * TextureTo.Height;
uint[] buffer = GetBuffer(size);
TextureTo.GetData(buffer, 0, size);
var sizeFrom = TextureFrom.Width * TextureFrom.Height;
var bufferFrom = GetBuffer(sizeFrom);
TextureFrom.GetData(bufferFrom, 0, sizeFrom);
for (int i = 0; i < size; i++)
{
//ARGB
buffer[i] = (buffer[i] & 0x00FFFFFF) | (bufferFrom[i] & 0xFF000000);
}
TextureTo.SetData(buffer, 0, size);
}