Page MenuHome

Seams show up in Object mode but not while in Texture Paint
Closed, ArchivedPublic

Description

System Information
Windows 7 Home Premium 64-bit SP1
AMD FX-6120 Six-Core Processor
16 GB RAM
NVIDIA GeForce GT 740

Blender Version
Blender 2.73a #bbf09d9 (all defaults/no addons/changes etc)

Short description of error
The seams of a painted object (while in Texture Paint mode) stay hidden
from a distance. If you change the mode to Object mode and select another object,
the painted object's seams will display even without zooming any farther away
from them.

The amount of bleed used while painting the object makes no difference, in
any case why should being in texture mode cause an object with a UV
mapped material to display properly but not while in Object mode?
These seams also show up during Blender render. This object was auto-mapped
with Blender's simple UVs option from the tool shelf while in texture paint mode,
but this happens no matter how the object was unwrapped.

Exact steps for others to reproduce the error
• Open the blend file
• You may need to zoom a bit further away from the purple Suzanne to see the seams
• Once you see them, select the purple Suzanne head and switch the mode to Texture Paint
• Seams disappear and everything is nice again

Event Timeline

sicutunum raised the priority of this task from to 90.
sicutunum updated the task description. (Show Details)
sicutunum added a project: BF Blender.
sicutunum edited a custom field.
sicutunum added a subscriber: sicutunum.

Should mention this only happens with diffuse maps that use alpha. But still, I see no reason why diffuse maps that use the alpha channel should display properly in Texture Paint mode but not Object mode.

Sergey Sharybin (sergey) lowered the priority of this task from 90 to Normal.Feb 10 2015, 8:36 AM

It seems to be some precision loss when generating mipmaps. I'm not really sure about ways to prevent such a bleeding, would need to ask @Antonis Ryakiotakis (psy-fi).

The reason you don't see seams in texture paint mode is because it doesn't use mipmaps (every stroke would need to re-generate them making painting slower).

Indeed. Is there no way to disable Mipmaps at render time either? I disabled all System Mipmaps, then disabled all Mipmaps for the object I was rendering, and if "Use Alpha" was checked under texture image sampling, still get the horrible splitting. Now that I think about it, I've experienced issues with this a lot in Blender but I always attributed to something else. Hope this gets fixed. Thanks.

Antonis Ryakiotakis (psy-fi) changed the task status from Unknown Status to Unknown Status.Feb 10 2015, 3:51 PM
Antonis Ryakiotakis (psy-fi) claimed this task.

I don't think this is fixable, mipmapping can't detect any seams. You can disable mipmaps in system preferences to get rig of the issue in the viewport, or just increase the seam bleed option during painting. Lowering the filter size in the texture options also helps eliminate the issue.

Antony, I apologize, I used terms to ambiguously. I didn't mean areas with marked seams were showing up, I meant the edges of the UV islands. Maybe I'm confused and that is what you meant though.

What's the purpose of the Mipmap option under Image Sampling in the texture tab of properties? It seems to have no effect on the render or the viewport whether Mipmap settings are disabled in system User Preferences or not. Can someone please verify that it does something?

Antonis Ryakiotakis (psy-fi) changed the task status from Unknown Status to Unknown Status.Feb 10 2015, 4:32 PM

Viewport mipmapping is only influenced by the OpenGL options in the user preferences. You are right though that it seems as if the mipmap option doesn't have much influence on the final result. I guess that's to be investigated

Antonis Ryakiotakis (psy-fi) changed the task status from Unknown Status to Archived.Feb 26 2015, 2:09 PM

Alright so verdict is: Mipmapping option does work, but even with mip mapping it the texture filter size can touch adjacent black pixels (it's just that with mipmapping such filter can take more pixels of the original into account since they have been "preblurred"). Solution, use filter size to fix this.

So by solution do you mean, what an individual user should be expected to know off the top of their ass? Or will the filter size be adjusted by default to take this into consideration in the next build of Blender?

You can't adjust it by default because you can't know where the islands are placed on the map. I think usually in texturing usually the blanks are filled with similar colors (using tools we don't have in blender, apart from the bleed too l in texture painting) but apart from that there's no easy remedy as far as I know. If you hear about a method though I'd be interested to know too.

Here is another answer on the topic

http://gamedev.stackexchange.com/questions/50023/how-can-i-prevent-seams-from-showing-up-on-objects-using-lower-mipmap-levels

You can find more if you google around, but generally looks like an open issue in graphics in general.

I see. Sorry wasn't entirely sure what you meant, but I get why that would be tough now. So this wouldn't fix it directly, but would be awesome to have in the UV editor, the ability to scale all selected islands individually (as though towards their own imaginary origin points) (or rather something like the shrink/fatten tool so the islands would maintain their offset) I think you know what I mean, it would allow (in some situations) a quick fix for UV issues like this. Just an idea.

Oh cool, yeah this is indeed the issue. Especially when using alpha mapped images for game assets. We need a shrinky-shirnk for our uvs lol.