Geodan / mapbox-3dtiles

3D Tiles implementation using Mapbox GL JS custom layers
BSD 3-Clause "New" or "Revised" License
297 stars 62 forks source link

Collaboration opportunity? #16

Open ibgreen opened 4 years ago

ibgreen commented 4 years ago

Hi, very nice demo, thanks for sharing.

We are also developing a framework-independent 3d tile loader (part of our loaders.gl effort), you can see results developing at:

A few remarks:

Also:

tomvantilburg commented 4 years ago

Hi @ibgreen, we weren't aware of the current efforts on 3d-tiles in loaders.gl, thanks so much for sharing! We will look into it.

In the meantime some answers:

ibgreen commented 4 years ago

As far as we are aware there is a LICENSE file with a BSD-3 license in the repository.

@tomvantilburg Yes there it is! Don't know how I could have missed that. Awesome, thanks!

ibgreen commented 4 years ago

We are currently using the THREE.GLTFLoader(); to load the gltf models that are inside the 3D-tiles. I assume you are also using this function from THREEjs?

We don't, as I will explain below, however you can take the extracted GLB data from the Tile3DLoader and pass to THREE.GLTFLoader.

ibgreen commented 4 years ago

As context, loaders.gl is a suite of framework-independent loaders. The idea is that they can be used with any WebGL framework.

We currently only have an integration with our own https://deck.gl framework Tile3DLayer

But we'd love to be able to showcase a THREE.js integration as well, and your code would be a perfect baseline to build that example on.

If you are interested in using loaders.gl as a base we could collaborate on porting your THREE.js based example to loaders.gl.

We'd both benefit from sharing a common implementation of this quite complex standard, and we could share work on optimizing loading and traversal etc.

ibgreen commented 4 years ago

@tomvantilburg Quick update

The current port uses loaders.gl to parse the tiles, but does not yet use loaders.gl traversal algorithm, see the pull request for more information.