You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm looking for people who have used / are using TilesRenderer who can share their use cases & any screenshots or demos if you can. Or if you're planning to use it for something that would be useful, as well. I'd like to share how the library has benefitted other applications with NASA JPL to help bolster the case for some more open source work.
@Gmadges@usefulthink@jesse-small - I know it's been awhile since you've contributed to the project but if you can share any details about your work that would be great.
@Desplandis@jailln@AnthonyGlt - I know you guys are working on ITowns but can you provide some more context for how 3D Tiles support will benefit you? Does everyone working on ITowns work at the same company? Or are there different organizations that are planning to use this?
Sharing here the feedback I posted under your twitter ping for posterity:
Here is a link to a demo-scene on the Sacré-Coeur, Paris + a few screens where we use Google 3D Cities as background + comparison of before/after with our 3d-scans (copc/potree/3dtiles)
First: potree ptc UTM 31N + Google 3DTiles ECEF 4978
Second: IGN COPC LAMB93 + gsplat 31N by mkkellogg viewer
We also do export our datasets as 3d-tiles datasets, rendered on the web with 3dTilesRendererJS, but none are public as of yet - working on that!
Our interest with your lib vs NYTimesRD/three-loader-3dtiles based on loadersgl/deckgl and CesiumJS is we managed to make a wrapper for r3fpmndrs/drei (still have to release that!). Participations we'd like to help design include:
Regarding multi-CRS-es datasets, here is a simple hacky impl. we use to have multiple datasets in a single scene, each with coords expressed in its own CRS: computeCrsTransformhere, transforming coordinates of origin+3 axes from one CRS (EPSG:4978 for google 3D-tiles) - similar to your setLatLonToYUp, but more generic, difference in this thread
Finally a quick opinion on 3dtiles edition/production: the ecosystem still lacks an open-source solution to tile massive meshes (when there exists tilers from pointclouds to 3dtiles format), and edition is still pretty hard - no propagation of meshes edits, holes filling, triangles deletion, to every level of the tileset.
Quick note regarding iTowns: from my understanding, it was initially a project powered by french IGN (National Geographic Institute) accepting external contributions, like ones from Oslandia. Folks at oslandia then decided to fork the project and launch Giro3d probably to get a better voice at the steering of the viewer.
@airnez, @AnthonyGlt , @jailln and I work at Ciril GROUP, within the Business Geografic entity. Business Geografic is a software publisher mainly providing solutions for French local governments. We develop a 2D and 3D GIS no-code application generator containing maps and numerous GIS functionalities like styling, metadata search, data viz, etc.
Initially, we used Cesium, but we’ve now switched to iTowns, where we are main contributors and co-lead the project with IGN (cc @Desplandis ). iTowns, as you know, is an open-source software that we are working to expand within a community, aiming to position it as a competitor to Cesium and MapBox. The project is gaining momentum, with other companies, such as Sogelink and Carl Berger-Levrault, adopting it for their use cases. I’ll let them know your request and tell them to share their specific usecases as well.
As a side note, Oslandia decided a few years ago to leave this open-source initiative, forking iTowns and developing their own alternative, Giro3D.
Regarding our own use cases, we have chosen to adopt the OGC 3D Tiles format as the main 3D input format in our software solution, so our clients must provide data in this format. A few months ago, we've decided to contribute to 3DTilesRendererJS (thanks for your great work by the way!) and migrate to this library within iTowns to combine our efforts to manage this format properly together.
It’s not easy for us to provide detailed use cases since they are generally private to our clients. However, 3D Tiles datasets are generally used by our clients as a component to build digital twins with our software. For instance, Toulouse Métropole (a charming city in France) aims at creating a digital twin by modeling the city in 3D (with 3D Tiles 1.1 datasets) for visualization, for data consultation, and simulation purposes essentially.
The reality is that while visualization is one aspect, efficient tools for generating data in this 3D Tiles format are not yet well understood, integrated, or easy to use by local governments themselves.
Thanks a lot for your work on 3DTilesRendererJS. Ciril Group and iTowns folks will continue to contribute to this open source project.
Cheers
Reacted by AnthonyGlt, Desplandis, airnez and Timothé Boutron
Reacted by Garrett Johnson, Jonathan Chemla and Timothé Boutron
The project is gaining momentum, with other companies, such as Sogelink and Carl Berger-Levrault, adopting it for their use cases. I’ll let them know your request and tell them to share their specific usecases as well.
Thanks for passing it on - I'm interested to hear more about the other use cases, as well.
efficient tools for generating data in this 3D Tiles format are not yet well understood, integrated, or easy to use by local governments themselves.
If you guys have any lists of tools used (free or paid) for generating 3d tile sets I'd be interested to hear what you're using. Most of my experience has been with internal JPL tooling for this stuff. Perhaps we can provide a list to end users for how to generate tile sets.
If you guys have any lists of tools used (free or paid) for generating 3d tile sets I'd be interested to hear what you're using. Most of my experience has been with internal JPL tooling for this stuff. Perhaps we can provide a list to end users for how to generate tile sets.
We're mainly using py3dtilers that supports input formats like CityGML, geojson, obj and ifc. We're also using py3dtiles (on which py3dtilers is built) for point cloud data sets. We also ocasionally use pg2b3dm.
Just added last week an open-data section to cesium 3d-tiles Resources, which also lists Generators which seem to be what your last questino is about. Regarding commercial licenses that do generate 3d-tiles for massive mesh data, we have been using the following commercial photogrammetric suites over the years
Bentley ContextCapture, which was among the first to support 3d-tiles export as early as 2016, has been acquired by Bentley Systems in 2015, which also just acquired Cesium after the spin-off from AGI
Agisoft Metashape/Photoscan, 3D-tiles export support for meshes in 2018
RealityCapture (Capturing Reality has been bought by Epic Games in 2021), 3D-tiles export around 2021
and Cesium Ion, which offers both on-premise/self-hosted tiler and service.
There are also converters from ESRI I3S to OGC 3D-Tiles
Unlike for massive meshes, multiple open-source tilers do exist for pointclouds (as well as 2.5D terrain), as well as converters between various flavors of 3d-tiles/I3S. like
the above py3dtiles tooling supported by oslandia,
IGN team recently published source code for lcaraffa/sparkling-wasure, to produce 3d-tiles for massively parallel pointcloud-to-mesh reconstruction on the Lidar-HD dataset
I work at VEERUM as a full stack developer. VEERUM is a software company that focuses on online 3D data visualization and interaction. Our primary product is DigitalTWIN which allows users to upload reality scans, design files and metadata such as equipment information, scheduling or process documentation to a visual environment.
DigitalTWIN focuses on rendering point clouds, as well as 3d-tiles for CAD and reality scan models. Users can also create custom 3D objects to reference equipment, plans or notes about on-going projects and construction. Our system pulls in client data to create a visual representation of a user’s facility or site. Using a combination of point clouds, 3d-tiles and panoramic photos, we can show visualizations and comparisons between design and reality.
We have developed the VEERUM Viewer which uses ThreeJS to render our visualizations and created custom APIs for additional tools such as measurements, object creation, visual effects, clipping and spatial search capabilities. The 3d-tiles library is used to render our 3d-tiles and we have integrated it into our project in order to support the tools listed above.
We use 3d-tiles for CAD representations so users can easily visualize their designs files and compare them to captured reality scans in real time. This can help ensure projects stay on track and monitor progress without that person needing to be on site.
3d-tiles can also be used as custom “Equipment” objects so users can import their own models to represent equipment for planning such as cranes or scaffolding.
We also offer another product called 3DVAULT that focuses on the storage of large data files and providing visualization options for common data formats. We support additional viewers such as IFC, OBJ, FBX, PDF, etc. But this product also includes the same VEERUM Viewer to provide viewing of point clouds and 3d-tiles.
Not sure a hobby game helps the case you're making here, next to the GIS and digital twin work. If it doesn't, say the word and I'll delete this.
Tower defense on a real address. Google Photorealistic 3D Tiles via Cesium Ion for the geometry, OSM via Overpass for the street graph and building footprints, Three.js and 3DTilesRendererJS, client only. ReorientationPlugin with recenter sets the world origin.
The tiles aren't the backdrop, they're the collision geometry:
enemy routes follow the OSM street graph, raycast down onto the tile surface for height
towers only fire at what they can see, so real buildings block shots. We render the tiles around a tower into a cubemap, read back depth, and reuse that as a visibility mask over its range
tower placement raycasts the tiles for ground height
The thing that bites us is LOD. When a tile refines, the ground under an already placed route moves, so we track tile depth per sample and re-anchor.
Thanks for the library!
3dtd-github.mp4
Reacted by Garrett Johnson, Jonathan Chemla and JackyNKL
Thanks @ingel81! That looks great - do you have a link to the project anywhere? I'd like to share the video online if that's okay - all credit included
Thanks @ingel81! That looks great - do you have a link to the project anywhere? I'd like to share the video online if that's okay - all credit included
Sure @gkjohnson , I’d really appreciate that. Feel free to post whatever you like.
It includes links to GitHub and some more "gameplay" footage on YouTube. The video from above is also embedded there in 1080p.
To play, however, you need your own Cesium (free) or Google Maps (sadly can't test in EU) token and a decent machine :) And, of course, it’s very unfinished and unbalanced. Right now, it’s really more of an extended PoC or early alpha.
Activity
jo-chemla commentedon Sep 10, 2024
Sharing here the feedback I posted under your twitter ping for posterity:
Here is a link to a demo-scene on the Sacré-Coeur, Paris + a few screens where we use Google 3D Cities as background + comparison of before/after with our 3d-scans (copc/potree/3dtiles)
First: potree ptc UTM 31N + Google 3DTiles ECEF 4978
Second: IGN COPC LAMB93 + gsplat 31N by mkkellogg viewer
We also do export our datasets as 3d-tiles datasets, rendered on the web with 3dTilesRendererJS, but none are public as of yet - working on that!
Our interest with your lib vs NYTimesRD/three-loader-3dtiles based on loadersgl/deckgl and CesiumJS is we managed to make a wrapper for r3f pmndrs/drei (still have to release that!). Participations we'd like to help design include:
.3dtilespackage supportRegarding multi-CRS-es datasets, here is a simple hacky impl. we use to have multiple datasets in a single scene, each with coords expressed in its own CRS:
computeCrsTransformhere, transforming coordinates of origin+3 axes from one CRS (EPSG:4978 for google 3D-tiles) - similar to your setLatLonToYUp, but more generic, difference in this threadFinally a quick opinion on 3dtiles edition/production: the ecosystem still lacks an open-source solution to tile massive meshes (when there exists tilers from pointclouds to 3dtiles format), and edition is still pretty hard - no propagation of meshes edits, holes filling, triangles deletion, to every level of the tileset.
Quick note regarding iTowns: from my understanding, it was initially a project powered by french IGN (National Geographic Institute) accepting external contributions, like ones from Oslandia. Folks at oslandia then decided to fork the project and launch Giro3d probably to get a better voice at the steering of the viewer.
LoicUTC commentedon Sep 25, 2024
@airnez, @AnthonyGlt , @jailln and I work at Ciril GROUP, within the Business Geografic entity. Business Geografic is a software publisher mainly providing solutions for French local governments. We develop a 2D and 3D GIS no-code application generator containing maps and numerous GIS functionalities like styling, metadata search, data viz, etc.
Initially, we used Cesium, but we’ve now switched to iTowns, where we are main contributors and co-lead the project with IGN (cc @Desplandis ). iTowns, as you know, is an open-source software that we are working to expand within a community, aiming to position it as a competitor to Cesium and MapBox. The project is gaining momentum, with other companies, such as Sogelink and Carl Berger-Levrault, adopting it for their use cases. I’ll let them know your request and tell them to share their specific usecases as well.
As a side note, Oslandia decided a few years ago to leave this open-source initiative, forking iTowns and developing their own alternative, Giro3D.
Regarding our own use cases, we have chosen to adopt the OGC 3D Tiles format as the main 3D input format in our software solution, so our clients must provide data in this format. A few months ago, we've decided to contribute to 3DTilesRendererJS (thanks for your great work by the way!) and migrate to this library within iTowns to combine our efforts to manage this format properly together.
It’s not easy for us to provide detailed use cases since they are generally private to our clients. However, 3D Tiles datasets are generally used by our clients as a component to build digital twins with our software. For instance, Toulouse Métropole (a charming city in France) aims at creating a digital twin by modeling the city in 3D (with 3D Tiles 1.1 datasets) for visualization, for data consultation, and simulation purposes essentially.
Credits : Toulouse Métropole
Here is a screenshot of another city, Lille Metropole, in 3D Tiles displayed with iTowns (and 3DTilesRendererJS) in our software:
Credits : Métropole Européene de Lille. 3D Open data Mesh.
Of course some of our clients also have 3D Tiles point clouds and couple them with other data sources like with realtime building extrusion:
And also with classes :
As we develop a comprehensive GIS sofware, not limited for 3D features vizualisation alone but also combined with 2D view as you can see here :
Credits :Parc Chartreuse
The reality is that while visualization is one aspect, efficient tools for generating data in this 3D Tiles format are not yet well understood, integrated, or easy to use by local governments themselves.
Thanks a lot for your work on 3DTilesRendererJS. Ciril Group and iTowns folks will continue to contribute to this open source project.
Cheers
gkjohnson commentedon Sep 29, 2024
Thank you for the screenshots and detailed descriptions guys!
@LoicUTC
Thanks for passing it on - I'm interested to hear more about the other use cases, as well.
If you guys have any lists of tools used (free or paid) for generating 3d tile sets I'd be interested to hear what you're using. Most of my experience has been with internal JPL tooling for this stuff. Perhaps we can provide a list to end users for how to generate tile sets.
jailln commentedon Sep 30, 2024
We're mainly using py3dtilers that supports input formats like CityGML, geojson, obj and ifc. We're also using py3dtiles (on which py3dtilers is built) for point cloud data sets. We also ocasionally use pg2b3dm.
jo-chemla commentedon Sep 30, 2024
Just added last week an open-data section to cesium 3d-tiles Resources, which also lists Generators which seem to be what your last questino is about. Regarding commercial licenses that do generate 3d-tiles for massive mesh data, we have been using the following commercial photogrammetric suites over the years
Unlike for massive meshes, multiple open-source tilers do exist for pointclouds (as well as 2.5D terrain), as well as converters between various flavors of 3d-tiles/I3S. like
py3dtilestooling supported by oslandia,jesse-small commentedon Oct 7, 2024
I work at VEERUM as a full stack developer. VEERUM is a software company that focuses on online 3D data visualization and interaction. Our primary product is DigitalTWIN which allows users to upload reality scans, design files and metadata such as equipment information, scheduling or process documentation to a visual environment.
DigitalTWIN focuses on rendering point clouds, as well as 3d-tiles for CAD and reality scan models. Users can also create custom 3D objects to reference equipment, plans or notes about on-going projects and construction. Our system pulls in client data to create a visual representation of a user’s facility or site. Using a combination of point clouds, 3d-tiles and panoramic photos, we can show visualizations and comparisons between design and reality.
We have developed the VEERUM Viewer which uses ThreeJS to render our visualizations and created custom APIs for additional tools such as measurements, object creation, visual effects, clipping and spatial search capabilities. The 3d-tiles library is used to render our 3d-tiles and we have integrated it into our project in order to support the tools listed above.
We use 3d-tiles for CAD representations so users can easily visualize their designs files and compare them to captured reality scans in real time. This can help ensure projects stay on track and monitor progress without that person needing to be on site.
3d-tiles can also be used as custom “Equipment” objects so users can import their own models to represent equipment for planning such as cranes or scaffolding.
We also offer another product called 3DVAULT that focuses on the storage of large data files and providing visualization options for common data formats. We support additional viewers such as IFC, OBJ, FBX, PDF, etc. But this product also includes the same VEERUM Viewer to provide viewing of point clouds and 3d-tiles.
gkjohnson commentedon Oct 9, 2024
Amazing! Thanks @jesse-small, this looks great - to be clear, the point cloud scenes rendered in the above screenshots are rendered with 3d tiles?
ingel81 commentedon Aug 25, 2026
Not sure a hobby game helps the case you're making here, next to the GIS and digital twin work. If it doesn't, say the word and I'll delete this.
Tower defense on a real address. Google Photorealistic 3D Tiles via Cesium Ion for the geometry, OSM via Overpass for the street graph and building footprints, Three.js and 3DTilesRendererJS, client only. ReorientationPlugin with
recentersets the world origin.The tiles aren't the backdrop, they're the collision geometry:
The thing that bites us is LOD. When a tile refines, the ground under an already placed route moves, so we track tile depth per sample and re-anchor.
Thanks for the library!
3dtd-github.mp4
gkjohnson commentedon Sep 7, 2026
Thanks @ingel81! That looks great - do you have a link to the project anywhere? I'd like to share the video online if that's okay - all credit included
ingel81 commentedon Sep 10, 2026
Sure @gkjohnson , I’d really appreciate that. Feel free to post whatever you like.
Here’s the basic project page: https://3dtd.sgeht.net
It includes links to GitHub and some more "gameplay" footage on YouTube. The video from above is also embedded there in 1080p.
To play, however, you need your own Cesium (free) or Google Maps (sadly can't test in EU) token and a decent machine :) And, of course, it’s very unfinished and unbalanced. Right now, it’s really more of an extended PoC or early alpha.