For textures step 1 would be omitted, but in step 2 instead the edges would be slightly extended (either by mirroring or wrapping/tiling) to give context to both the antialiasing preprocess but most importantly ESRGAN. There's actually an additional couple of steps I've used to add the small detail like bloodspatter, but it's rather complicated, but the above gives a fairly understandable picture of the process. finally, the mask from step 1 is applied to the downscaled image the result of ESRGAN is run through a second script that sharpens, downscales and applies respective game's paletteĤ. antialias the edges of the image, this is then fed to ESRGANģ. creates a mask from the image in questionĢ. It's fairly automated, I put together a folder with images to be upscaled, this is then run through a number of scriptsġ.