@sharp If you don’t mind, could you please share the CodeSandBox again? I can’t seem to open it on my end, it errors out saying reached 10 MB limit. Thanks!
The difference to Mapbox is that it’s basemaps only whereas Harp.gl combines both basemaps and ThreeJS. One another interesting piece could be Terrain rendering layer · Issue #1215 · visgl/deck.gl · GitHub for terrain rendering, add here since if one is looking into this, probably wants to see that also.
@sharp Thanks for your example. I found Babylon meshes can not georeference correctly on the map. Setting the adaptToDeviceRatio parameter to be true can solve this problem, which can ensure the width and height of the canvas to be consistent with Mapbox.
The following examples show how Babylon integrated with Mapbox:
There’s definitely problems with billboard mode because the viewMatrix is not updated.
We deduce the projectionMatrix from Mapbox coordinates and we freeze it (line 68 here)…But the camera position in fact is still (0,0,0), we overrided the projection matrix to fit the mapbox world, but from the billboard pov, camera is still at the center…
I tried to solve this problem but did not found the time to achieve it :p. If we could deduce the new camera position from the mapbox world matrix it will make the job but it’s complicated to transpose the viewMatrix.
I don’t work on mapbox anymore but new versions now come with a freeCamera support and the code should contains all the info to make a better transposition of the mapbox camera to the babylon world.
I make demo. The camera position is acquired at line 63 (console message), and it seems to be able to recognize the change in camera position.
I think the problem is, as you say, that billboardMode is not working.