StrandedKitty / streets-gl

🗺 OpenStreetMap 3D renderer powered by WebGL2
http://streets.gl
MIT License
598 stars 44 forks source link

Terrain drops off in the distance (Vivaldi, Linux) #133

Closed kayD closed 6 months ago

kayD commented 1 year ago

Terrain (ground texture) falls off in the distance The terrain elevation is correctly rendered in the vicinity of the camera, but in the distance (about 1km), it drops off - in a gently slope, not apruptly - in the distance. Presumably to zero height. However, all 3d features stay at their calculated elevation, only the ground "sinks". It is a funny effect when you move the camera, as you appear to be standing on an elevated "island" which moves along with you.

Map location Example location: https://streets.gl/#49.85010,9.95623,58.47,105.63,2420.20

ground-drop

System information

Note: It is clearly related to the combination of OS and Browser. On Kubuntu with Firefox, it renders OK, and on Windows 10 with Vivaldi, it also renders OK.

It may be related to #110

matyasrichter commented 1 year ago

I'm also seeing this on my system, but only in Chrome, not in Firefox.

OS: Manjaro Linux, kernel 6.3.5, nvidia driver 470.182.03-10 GPU: GeForce GTX 1060 Mobile Chrome: 114.0.5735.90 (Official Build) (64-bit) Firefox: 113.0.1

In the devtools console: Chrome:

Vendor: Google Inc. (NVIDIA Corporation) 
Renderer: ANGLE (NVIDIA Corporation, NVIDIA GeForce GTX 1060/PCIe/SSE2, OpenGL 4.5.0)

Plus a large number of errors that look like this: [.WebGL-0xa9004650e00] GL_INVALID_FRAMEBUFFER_OPERATION: Draw framebuffer is incomplete

Firefox:

Vendor: NVIDIA Corporation 
Renderer: NVIDIA GeForce GTX 980/PCIe/SSE2
kayD commented 1 year ago

This is plausible, because Vivaldi's engine is based on Chrome. How/where do you see the rendering error messages?

matyasrichter commented 1 year ago

In the browser console - you can open it by right-clicking and choosing Inspect (or Ctrl+Shift+I, but I'm not sure if that's a universal shortcut).

Looking at it again, I can see that they are actually warnings, not errors. I'm not sure if they're really related to this issue, although they do only occur in Chrome (or Chromium).

image

kayD commented 1 year ago

Thanks, same here: image However, the reported errors don't seem to have any further negative effect. BTW: similar errors reported also in Firefox: image

kayD commented 1 year ago

I made an additional observation:

This can be barely seen in a static screenshot, but here: image At the very top you may see that the buildings align with the ground (roads). In the foreground the buildings seem to float, because the ground has "dropped". Also at the far right side, you may see a river valley with "3d terrain".

So to sum up the strange behavior:

All this seems to me like some implemented, intended functionality that is however appearing "at the wrong place".

kayD commented 1 year ago

Just another "debugging hint": In highly elevated area, looking straight from far above, one can see that the dropping area is around a square area around the camera's position.

https://streets.gl/#47.34486,11.51009,89.99,0.00,3961.93 image The square area is 3D and raised, the surrounding area is flat (the hillshading is misleading the eye to believe it is also contoured).

Rotating the camera (with q and e keys) also rotates the square, synchronously with the landscape.

kayD commented 10 months ago

I am happy to report that, with the new version 6.2 of Vivaldi, the problems above have disappeared!

Vivaldi | 6.2.3105.45 (Stable channel) stable (64-Bit) Revision | 2c70753efd4b3344b0d0c7247329b29ac2b40489 OS | Linux JavaScript | V8 11.6.189.19

davidak commented 7 months ago

Just for reference: I use Chrome 114.0.5735.133 (quite old) on Linux and can reproduce this issue.

Demo: https://youtu.be/GKKWiozJLdE?si=1BV1Ol7dEPUhKeOX&t=187

StrandedKitty commented 6 months ago

@davidak @kayD @matyasrichter This problem with elevation should be fixed now, please verify it on your devices. Thanks!

kayD commented 6 months ago

@StrandedKitty I can confirm that it continues to work (see my comment from Aug 31). I tried with all scenarios on this page, both on Vivaldi 6.5.3206.48 (Stable channel) stable (64-Bit) and on Firefox 120.0 (64-bit) (snap)

Thanks for your great work!