Mipmap problems

I am trying to texture a mesh grid with each quad on the grid using a different sub texture from my texture atlas, but as you will see there is significant bleeding from the white sub texture to the black sub texture. I can limit this by scaling the uvs for the black sub texture by 50%, but even then I see the bleeding at certain angles and long distances.

I have turned off mipmapping and that solves the bleeding problem, but then I don’t get the benefits of mipmapping. Is there a good way to get rid of the bleeding without turning off mipmaps?


For the texture have you tried changing the Blend value from “mix” to “multiply” ?

Thanks for trying to help Solarforge, I did what you asked but I think you may be misunderstanding my problem(I’m not very good at explaining things). When I say “subtexture” I mean one part of my texture atlas that is for another mesh is showing on a mesh that it’s not supposed to be mapped to. I only have one texture channel so there is nothing to multiply to, if that makes any sense. And when I put some edge padding to separate these subtexture on my texture atlas there is still color bleeding when the camera is far away. I believe this is because of mipmaps. I’m using a plugin for gimp that lets me edit mipmaps https://code.google.com/p/gimp-dds/
But I still don’t really no what will solve this problem :confused:

In case people still don’t understand I’ll provide a .blend. Just look at the texture bleeding at the edges of each quad on the mesh and you will see what I’m talking about.

Attachments

TextureAtlasProblem.blend (1.03 MB)

No, it’s fine, you explained yourself perfectly, I was just giving my lucky guess…
But, yeah that is the first time that I have seen this happen ! I have tried a few things but so far, no success…

Okay i see what is wrong.

  1. you dont have to scale it to 50%, i have 2 pixel outline and it works fine.

  2. You scaled the uv, but you didn’t extend the edges!!!
    What happens when it bleeds:
    It slides outwards and if your texture changes the bleed is visible.
    Meaning your texture changes pixel colors right after the borders.
    Your edges areas that are outside the borders must be the same color as the last row of pixels in the texture.

Maybe a picture helps:

This is what the pure tile is like

This is the tile with the bleed borders correctly in the tile map:


Look how i have extended the last row.

VegetableJuiceF - I see what your saying, I didn’t do the exact color texels all the way to the end of the uvs when doing my edge padding. And I didn’t include that texture in my last blend, I only included the first one I did because I found that it had no effect. I’ve tried the technique on organic models that have different kinds of uv unwraps and it worked pretty good, but it doesn’t seem to be working for me here.

Look at my next .blend, All the texels are the same color, yes I scaled the uvs down to 0.8 but I don’t think that should matter. There is still very noticeable bleeding when you look at an angle at far away distances.

Attachments

Still_Bleeding.blend (531 KB)

I don’t know how its done but you should probably provide your own mipmap textures to the engine.

Scaling the uv now smaller makes the effect less noticeable and more distant.

This problem is beyond my capability.

Yeah that’s what I thought, but I’m not sure the right way to go about editing the mipmaps to make a seamless experience. I can access them with .dds in GIMP so I guess I will have to experiment more or find the info somewhere else. Thanks for trying to help me, and thank you too Monster.

As an aside, here’s a cool way of doing fog with mipmaps: http://www.pasteall.org/blend/34579