For my game GF2, and now also GF3. I have sprite characters.
I wanted the characters to look pixelated, but also not having aliased edges in the outline and between the pixels.
What I am doing is taking every 32x32 sprite(for instance,) and turn it into a 128x128 scaled up sprite with nearest filtering. Then I apply trilinear filter on this.
So it means in any resolution, the sprite will look pixelated with no weird artifacts.
(I also implement a 9patch but that's just “more of the same”)
Since I also save all pictures with None compression, to have maximum quality of the texture. It also help save space in the final product. Although, I am not sure why Unity can't save None textures as PNG? I get the feeling it saves it raw or as BMP.
Is there a better approach to do this? This might simplify also the sprite shaders, or when I do custom sprite shaders.
Should I implement a special filter in the shader instead?
Creating this data doesn't take a lot of time even on a phone.
However, I wonder if I there is no much simpler solution that I didn't think of?
(It also lets me have the character move smoothly, because it uses the native texture and not scaled up lower res)