public static void CreateAndSaveSeparateTextures(TextureTool texTool, TexImage texImage, string originalTextureURL, bool shouldGenerateMipMaps, PixelFormat outputFormat = PixelFormat.ETC1) { var assetManager = new AssetManager(); var alphaTextureURL = GenerateAlphaTextureURL(originalTextureURL); var colorTextureURL = GenerateColorTextureURL(originalTextureURL); // create a new image containing only the alpha component texTool.Decompress(texImage); using (var alphaImage = texTool.CreateImageFromAlphaComponent(texImage)) { // generate the mip-maps for the alpha component if required if (shouldGenerateMipMaps) { texTool.GenerateMipMaps(alphaImage, Filter.MipMapGeneration.Box); } // save the alpha component texTool.Compress(alphaImage, outputFormat); using (var outputImage = texTool.ConvertToParadoxImage(alphaImage)) assetManager.Save(alphaTextureURL, outputImage); } // save the color component texTool.Decompress(texImage); texTool.Compress(texImage, outputFormat); using (var outputImage = texTool.ConvertToParadoxImage(texImage)) assetManager.Save(colorTextureURL, outputImage); }