Author Topic: how do you prevent visible seams (cut texels) on round shapes (=not flat)  (Read 384 times)

Offline RemiD

  • Hero Member
  • *****
  • Posts: 754
Hello :)

About uvmapping, texel size, texel distortion, and visible seams between different uvmapped parts
when i uvmap a round shape (=not flat) like a sphere or similar shape,
i try to do it in a way to have approximately the same texel size in all triangles and also to prevent texels distortion.
but not matter how i do it, there is always some visible seam(s) (where some texels are "cut")

like that :


and then when i try to color the texels in the 3d engine, the seam is visible :


now keep in mind that in this example the texel size is quite big (around 0.125unit) so this is why the texels and the seams are so visible

I suppose that the answer to my problem is simply to decrease the texel size (=increase texels density), so that the seams will almost not be visible.

Maybe you have some others advices / tips ?

Thanks,

Offline GaborD

  • Full Member
  • ***
  • Posts: 148
Re: how do you prevent visible seams (cut texels) on round shapes (=not flat)
« Reply #1 on: November 25, 2018, 03:24:12 PM »
For spheres I generally use a latlong layout. Has some slight texture density distortions at the 2 poles ofcourse, but that's much less intrusive than a seam all around the sphere in my opinion. (plus with the sphere being placed on other geometry one pole is automatically hidden anyway)

The downside is your texture has to be appropiately generated and will be specific for a sphere uv layout. The upside is that this often makes the pole-distortion nearly invisible.
When I make PBR material sets in Painter or such, I usually generate one tiling set for flat surfaces and a special version for spheres. (I do use a lot of spheres, because they are so good for lighting demos and tests with their smooth curved surface)
This way it's possible to get pretty complex texturing onto a sphere without visible stretching or too apparent seams. (some fuzzyness at the poles is the tradeoff)


On more complex geometry there will ofcourse always be seams, I just try to hide them in the least visible areas and hope for the best. :)
Like you said, increasing texel density helps a lot.

Offline RemiD

  • Hero Member
  • *****
  • Posts: 754
Re: how do you prevent visible seams (cut texels) on round shapes (=not flat)
« Reply #2 on: November 25, 2018, 03:51:47 PM »
I see... So in your example you distort the drawing on the texture depending on a specific unwrap / uvmap for a sphere ?

Not sure that this would work for what i want to achieve, because i want to keep a uniform and big texel size (corresponding to 0.125unit)

anyway i think that these little seams will not really be a problem once the scene has more things / animations.


Quote
On more complex geometry there will ofcourse always be seams, I just try to hide them in the least visible areas and hope for the best.
i agree, i try to do the same

Offline col

  • Sr. Member
  • ****
  • Posts: 405
Re: how do you prevent visible seams (cut texels) on round shapes (=not flat)
« Reply #3 on: November 25, 2018, 09:25:13 PM »
Correct me if I'm wrong but isn't an 'icosphere' a better geometry for a texture mapped sphere as it has all triangles of the same size to solve texture pinching issues?
Any bugs in my code are proof of its hand-coded nature.
https://github.com/davecamp

Offline blinkok

  • Jr. Member
  • **
  • Posts: 23
Re: how do you prevent visible seams (cut texels) on round shapes (=not flat)
« Reply #4 on: November 26, 2018, 06:15:09 PM »
Maybe try make the polys run in the same direction like this

Offline RemiD

  • Hero Member
  • *****
  • Posts: 754
Re: how do you prevent visible seams (cut texels) on round shapes (=not flat)
« Reply #5 on: November 27, 2018, 04:03:36 PM »
the visible seam is more caused by my uvmaping, and also by a too big texel size, rather than the mesh structure.

think about it : the smallest the texel, the less you see the seam, because when a texel is "cut" (=not fully in a triangle), it is always a small part, but contrarily, the biggest the texel, the more you see the seam, because when a texel is "cut" (=not fully in a triangle), it can be a big part.

but i need a big (corresponding to 0.125unit) texel size for my demo, so i can't make it tiny.

however this just gave me another idea to prevent this visible seam problem, even with a big texel size (uvmap in a way which may distort some texels but will not cut any texel)

but thanks anyway.