Photo dome on mobile phones has a visible seam when useDirectMapping-option is false

The seam can be seen in playground example:
https://www.babylonjs-playground.com/#14KRGG#4

Happens on Android and iPhone devices. Please help :slight_smile:!

EDIT: Here’s a screenshot. You can see the seam almost in the middle of the picture. Taken on a physical mobile device (Android, Huawei Mate 20 Pro)
Screenshot_20191001_160407|270x500

Any takers on this? Should I make a Github issue instead? :frowning:

Hey sorry somehow I missed your post.

I do not repro on my iphone unfortunately. It seems driver related.
Can you tell me which phone precisely are you using? Like OS version, etc…

The seam shows on my desktop pc as well, but it’s smaller. I looked for the cause but couldn’t find it :disappointed:.

I have Intel HD Graphics 630.

What I’ve looked at:

So without directMapping, it sets a reflection texture instead of a diffuse texture. It sets the wrapV to clamp, but not the wrapU, but setting that manually in the PG doesn’t solve it.

I guess this is where it gets the uv coordinates for the reflection?

The seam is right on the outer ends of the texture, so I thought maybe there’s some floating randomness of from which end of the texture to grab a pixel. Could that be? :thinking:

The really weird thing is that I cannot repro on any of my devices :frowning:
Does anyone else can see it on their computer?
Pinging @PirateJC @sebavan @bghgary @syntheticmagus @Drigax @PolygonalSun @thomlucc @Cedric

Tested on my desktop on Firefox and LG V20 phone using Firefox Mobile, but I don’t see the seam either :cry:

Tested on GalaxyS8 Edge and Chrome, my pc using Edge, Chrome and Firefox and I didn’t see the seam

Works for me as well :frowning:

Just tested on an iPhone 8 Plus and I can repro. I see the seam.

Ok I tried:

  • with better precision (reducing maxZ): nope
  • with and without wrapping: nope

I’m afraid yes.

Can you try with a smaller file? just in case the texture is too big and was scaled down

@Deltakosh, I know that I’m a bit late to the party but I was unable to repro on both my PC and my phone (Pixel 3)

1 Like

Hi everyone and thank you for trying to figure this out! :heart:
So far I’ve managed to reproduce this with at least:

  • Huawei Mate20 Pro (tested with Chrome and Firefox)
  • iPhone SE (tested with Safari)
  • iPhone XS (tested with Safari)
  • Samsung Galaxy S10+ (tested with Chrome and Firefox)

Would be nice to have a fix for this, trying to push Babylonjs into our project since I personally love it :slight_smile:

Found the issue lying inside some drivers :frowning:

https://www.babylonjs-playground.com/#14KRGG#166

The fix will be in the next build shortly

2 Likes

Hello, sorry for necro bumping a resolved topic, but I found the seam again but only when changing the photo domes texture

I was looking at a playground for changing texture on a photo dome and I noticed that a seam appears on the sphere when changing texture.

To reproduce. First, have a look around and you’ll notice there’s no seam/issue. Then tap on the little green circle which changes the photo texture and you’ll notice that there is now a seam on the new texture. Click the same button again and it will take you back to the original texture but the scene persists (move the camera if you dont see it.)

I found this thread when making a new bug thread on this issue so I update this topic. I tried using direct mapping which does remove the problem but then everything gets messed up as the photos are upside down facing the wrong direction.

My GPU is
AMD Radeon Pro 5300M 4 GB
Intel UHD Graphics 630 1536 MB

(this is on a MacBook pro 16’ from 2019 running OSX 12.6) .

I assume a work around is to destroy and rebuild the dome on image change but wanted to see if there is a simple fix I am missing.

You need to create the texture the same way the photodome does https://www.babylonjs-playground.com/#14KRGG#958

So this fixes it not happening on the next scene, but the seam still appears if I click the button again going to the original texture… Which is strange as its not there when its originally loaded in…

image

a fix I found was setting the textures sampling to 2 or above will remedy this https://www.babylonjs-playground.com/#14KRGG#959