I’m trying to make custom mipmaps for my isometric game to improve the look from far away.
The idea is to render the smaller textures and either remove or make opaque the transparent pixels depending on their alpha level (so above 0.5 would become 1 else 0)
Everything works except that the colors of the transparent pixels are being distorted.
This is the original
This is how I expect it to look (made with a image editing program)
This is how it comes out
The luminosity of the transparent pixels is lowered. I suppose this has to to with the transparent background (R:0, G:0, B:0, A:0). I tried setting the BlendState to Opaque but that didn’t work. I tried Anisotropic and Linear filtering with the same result. After that I used the Visual Studio graphics debugging tools and it seems that the pixel shader produces those colors before blending occurs.
As I understand it, the GPU isn’t weighing the alpha of the pixels when interpolating between colors.
Is there any way to make it do that?