Page MenuHome

Rendering with Mip-Maps off still creates seams on lower resolutions than 1920x1080...
Closed, ArchivedPublic

Description

Im not sure how to put this problem without making it sound like a request/feature ; i have unchecked mip-maps from preferences/system and unchecked the mip-map box from all the textures(I triple checked this) i used in the file and yet when i render the image i get these seams. They dont appear on 1920x1080 resolution but half that resoultion (1280x720) they start to appear; and even lesser the resolution(640x360) the thicker the seams.I tried to solve this and i did eventually but im stuck with another problem.First let me explain the real problem and the solution for it.

Problem : mip-map seams on render (not in viewport).
solution : increase the texture bake margin to above 12 pixels.

yes i re baked (baked in blender) all 6 textures i used with a margin of 15 and this fixed the seams issue.
however i am stuck with this problem in my head; 15 pixels is a lot i think for each island.I am a graphic artist working for an indie game developer, so mip maps and real time texture artifacts is my daily rutine and i generally use 6-8 px margins for our game engine and they work fine.
and since mipmaps is tricky business i hoped a margin of 6 pixels would be enough for a render too.
So this leads to the real problem, or question actually...

Does blender respect mip-maps in renders ? if it does , Why does unchecking/turn off mip-maps still create seams ?
If it doesn't take into account mip maps on render time ; shouldn't renders be more pixel precise.? 6 pixels should be enough.

Event Timeline

What size texture are you using for the character?
The amount of padding that you need use will change depending on the map size, but for a 2k texture I tend to use a value of 16, because it allows for 4 levels with at least 1px between each island as each mip goes down a level and the texture size is halved. (16>8>4>2>1)
Unfortunately, there isn't much you can do about this and I'm not sure that this is a bug, because it was fixed when you added enough bleed/padding, but that call isn't mine to make :)

You can turn x/y repeat off, this should fix it (I think),
- in the game engine this is a per image option.
- for textures, you can disable the repeate.
... not sure about cycles.

Not sure this is a bug, could you upload a model?

Hello again;

Andrew; i use 2 sets of textures a total of 6. 3 for the head and 3 for he body (diffuse,normal,displacement).they are all 2048 x 2048 and the uvs are mirrored.
and their margin for them was 6 pixels...

Campbell; I turned off repeat in image mapping and turned on clip but then my models half is untextured because i used mirrored UVs,i attached a new Screenshot if you wanna check... also

Here is the dropbox link for the packed blend file but you should not it will render normal on lower resolution because i increased margins from 6 pixels to 15.
I didnt keep the old textures , so if want them i will rebake them again...

https://www.dropbox.com/s/pte47yw6op7xbzr/female_char_HEAD_SEPERATE_PACKED.7z

thanks

i found an old unnormalized AO bake in the folder so i thought i would replace that with the packed file i previously linked here, This one should be more useful since seams are visible. the baked AO margin size is 6 pixels,but the dipslacement maps margin is 15 (the fixed bake version) . Come to think of it there was no displacement artifact with 6 pixel baked displacement map, it didnt make any difference if it was 6 or 15...hmm strange for common folk like me...

here the updated blend file with 6 margin ao texture... https://www.dropbox.com/s/pte47yw6op7xbzr/female_char_HEAD_SEPERATE_PACKED.7z

The last link is the same as the previous one, don't think that was intentional. Anyway, it's not really necessary since it's not a bug and can be worked around:

If you disable mipmaps in the viewport, it will simply do a interpolation of the 4 nearest pixels in the image, which indeed avoids the issue, but also gives aliasing. In the render, we use a more fancy EWA filter, which basically tries to estimate the part of the image that you see for that pixel as an ellipse, and then uses all pixels that fall inside that ellipse. So as you move further away from the model that ellipse gets bigger, and in the end you get the same issue as with mipmaps.

A way to avoid this is to lower the "filter size" value, this gives you (potential) aliasing instead of seams, just like the viewport.

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Archived.Aug 21 2012, 11:43 AM

Thanks Brecht for the work around.. I didnt try to change "filter size", will test it now...Thanks everone for your time and efforts; cheers.