3D Tiles: the next big step for Cesium and 3D geospatial

11,222 views
Skip to first unread message

Patrick Cozzi

unread,
Aug 10, 2015, 12:52:23 PM8/10/15
to cesiu...@googlegroups.com
Folks,

We're happy to announce the next big initiative from the Cesium team: 3D Tiles.

3D Tiles are an open specification for streaming massive heterogeneous 3D geospatial datasets.  They are the foundation for the streaming 3D buildings demos we developed, and will be the foundation for streaming point clouds, trees, vector data, and other massive geospatial datasets.  We already have significant progress towards the spec and Cesium's implementation, and expect things to stabilize in spring 2016.

What can you do to help?  We appreciate you showing your support by spreading the word on twitter and staring the spec's repo.  If you are feeling adventurous, start looking at Cesium's 3d-tiles branch.  Soon, we'll have publicly available sample data to use from our friends at CyberCity 3D.

For more info, see Introducing 3D Tiles on the Cesium blog.

I believe 3D Tiles will be at least as impactful to the geospatial field as Cesium itself.  Looking forward to your feedback!

Patrick
--

Vincent Picavet (ml)

unread,
Aug 11, 2015, 7:48:02 AM8/11/15
to cesiu...@googlegroups.com
Hi Patrick, all,


On 10/08/2015 18:52, Patrick Cozzi wrote:

> We're happy to announce the next big initiative from the Cesium
> team: 3D Tiles.

First of all, thanks for publishing this most interesting work !

> 3D Tiles are an open specification for streaming massive
> heterogeneous 3D geospatial datasets. They are the foundation for
> the streaming 3D buildings demos we developed, and will be the
> foundation for streaming point clouds, trees, vector data, and other
> massive geospatial datasets. We already have significant progress
> towards the spec and Cesium's implementation, and expect things to
> stabilize in spring 2016.

If I understand well the process, you published a first state of the
specification, with some parts almost finished, others as prototype, and
some which are only drafts and ideas.
From now on, the design and redaction of the specification will take
place on GitHub through Pull request, from AGI and whoever wants to
contribute. Is it right ?

Do you have intentions of porting this work towards the OGC ? Are some
members of OGC SWGs participating to, or at least aware of the 3D Tiles
specs ? The 3D Portrayal SWG could probably be interested.

Another project which may be interesting to associate is the
PointDown initiative, working (outside of OGC) on PointCloud formats and
protocols, especially in a web context.

Other question, do you plan to release server-side tools for
implementing the specification as opensource at some point ? Or will AGI
keep the same position as for terrain data ( Open Spec, freemium
streaming service) ?

Looking forward to see this whole plan growing !

Vincent


>
> What can you do to help? We appreciate you showing your support by
> spreading the word on twitter
> <https://twitter.com/CesiumJS/status/630783320847183873> and staring
> the spec's repo <https://github.com/AnalyticalGraphicsInc/3d-tiles>.
> If you are feeling adventurous, start looking at Cesium's 3d-tiles
> branch. Soon, we'll have publicly available sample data to use from
> our friends at CyberCity 3D.
>
> For more info, see Introducing 3D Tiles
> <http://cesiumjs.org/2015/08/10/Introducing-3D-Tiles/> on the Cesium
> blog.
>
> I believe 3D Tiles will be at least as impactful to the geospatial
> field as Cesium itself. Looking forward to your feedback!
>
> Patrick -- twitter.com/pjcozzi <http://twitter.com/pjcozzi>
>
> -- You received this message because you are subscribed to the
> Google Groups "cesium-dev" group. To unsubscribe from this group and
> stop receiving emails from it, send an email to
> cesium-dev+...@googlegroups.com
> <mailto:cesium-dev+...@googlegroups.com>. For more options,
> visit https://groups.google.com/d/optout.

Jackie Ng

unread,
Aug 12, 2015, 2:08:57 AM8/12/15
to cesium-dev
I hope that however the 3D tiles spec turns out, that there is a good interoperability story around being able to leverage existing 2D spatial datasets that can be extruded into the third dimension via some elevation attribute.

- Jackie

GHT

unread,
Aug 12, 2015, 4:15:46 AM8/12/15
to cesium-dev
Potree is a free open-source WebGL based point cloud renderer for large point clouds. Similar to map software like Google Maps or OpenStreeMap, only data inside the visible area and up to a certain level of detail are loaded.

General infos, downloads, showcase, etc. at potree.org
Github: https://github.com/potree/potree

在 2015年8月11日星期二 UTC+8上午12:52:23,Patrick Cozzi写道:

Patrick Cozzi

unread,
Aug 12, 2015, 9:48:08 AM8/12/15
to cesium-dev
Hi Vincent,

Thanks for the interest!

> From now on, the design and redaction of the specification will take place on GitHub through Pull request, from AGI and whoever wants to contribute. Is it right?

Yes.  For contributions outside of AGI's Cesium team, we'll need to get a CLA in place, but I don't think it will be a problem (#12).

> Do you have intentions of porting this work towards the OGC ? Are some members of OGC SWGs participating to, or at least aware of the 3D Tiles specs ? The 3D Portrayal SWG could probably be interested. 

With 3D Tiles, our initial focus is to get heterogeneous streaming 3D content into Cesium.  I have not personally talked to OGC, but I agree this could complement 3D Portrayal SWG since 3D Tiles define the streaming format itself.

> Another project which may be interesting to associate is the PointDown initiative, working (outside of OGC) on PointCloud formats and protocols, especially in a web context. 

I have not talked to the PointDown crew specifically about 3D Tiles, but I have talked to them when they first started PointDown.  Cesium's requirements, e.g., for high-precision vertex positions, temporal visualization, etc., will likely make the 3D Tiles' point cloud payload more involved than a typical point cloud app would want, but I am happy to dive deeper here.

> do you plan to release server-side tools for implementing the specification as opensource at some point ? Or will AGI keep the same position as for terrain data ( Open Spec, freemium streaming service) ? 

Yes, I expect AGI to have a similar position for 3D Tiles as terrain.  I also expect that parts of the server-side tools will be open-source; for example, AGI is a major contributor to the open-source COLLADA2GLTF project.

Patrick

Patrick Cozzi

unread,
Aug 12, 2015, 9:56:54 AM8/12/15
to cesium-dev
Hi Jackie,

> I hope that however the 3D tiles spec turns out, that there is a good interoperability story around being able to leverage existing 2D spatial datasets that can be extruded into the third dimension via some elevation attribute.

I agree, this will really help demonstrate the value of 3D.  Just like KML and the Cesium API, 3D Tiles will support extrusions and, of course, full 3D content.

Patrick

Patrick Cozzi

unread,
Aug 12, 2015, 9:58:24 AM8/12/15
to cesium-dev
GHT - for potree, see #19.

Patrick

Chris Cooper

unread,
Aug 12, 2015, 11:50:45 PM8/12/15
to cesiu...@googlegroups.com
Nice work so far on 3D Tiles team Cesium!  Reminds me of RenderMan procedural primitives.  I'm looking forward to having a play...

Chris

On 12 August 2015 at 23:58, Patrick Cozzi <pjc...@gmail.com> wrote:
GHT - for potree, see #19.

Patrick

--
You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+...@googlegroups.com.

Mike Macaulay

unread,
Aug 18, 2015, 5:32:59 PM8/18/15
to cesium-dev
Wow, looks really awesome!  From what I've read, this might be an excellent way of visualizing 3D weather over time.  Would you agree?  

Patrick Cozzi

unread,
Aug 18, 2015, 6:28:39 PM8/18/15
to cesiu...@googlegroups.com
@Chris - thanks for sharing.  That link doesn't work for me, but I took a quick read through this: http://renderman.pixar.com/view/appnote23.  Are there any related papers you recommend?

@Mike - thanks for the interest.  What source data do you have in mind for weather?  We have to do some research on making the temporal aspect of 3D Tiles really fast.  Right now I am thinking something like uniform subdivision across time with each tile having a window of the time-tagged exploiting temporal coherence for compression (as opposed to a separate tree per time stamp).  A lot of the techniques for streaming video can be applied.  Details are still TBA...

Patrick

--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/tCCooBxpZFU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Mike Macaulay

unread,
Aug 19, 2015, 9:40:17 AM8/19/15
to cesiu...@googlegroups.com
Patrick, I doubt I can answer knowledgeably because I know only a little, playing with GRIB data in a past job.  It seems to be one of those things that seems simple until you dive a little deeper, but I'll give a shot at it.  So Grib data gives you a gridded data set with timesteps, often these grids have an altitude component as well.  Each dataset ends up with a numeric value at its point so you end up processing many grids to get a holistic view, but the format is standard.  Here's where I lose context, but I could imagine processing a grib dataset into 3D tiles, perhaps making a single 3D tile for a cube in 3D space over time (4D tile?) as you say.  The models for these spaces would be super simple, maybe just a cube with a color depending on the value of the GRIB data at that field, and you'd get a good idea of the weather by looking at the sum of these cubes in your viewing area...   If any of this is possible, it could become another killer app for Cesium.  Imagine flying around the thunderstorm cloud that's just passed overhead in 4D!   

Matthew Amato

unread,
Aug 19, 2015, 10:34:41 AM8/19/15
to cesiu...@googlegroups.com
While I'm no expert either, I think GRIB data is definitely an ideal source of 3D Tiles for visualizing weather and there's a lot of free datasets out there for us to experiment with.  Of course weather data is probably low on the totem pole compared to vector data and point clouds, but long term I could definitely see it happening.

You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+...@googlegroups.com.

Patrick Cozzi

unread,
Aug 19, 2015, 11:28:23 AM8/19/15
to cesiu...@googlegroups.com
Here's a few videos of 3D Tiles.  The last three show debug views that help explain how 3D Tiles are used for streaming:
These videos are part of the 3D Tiles talk I gave in the Cesium BOF at SIGGRAPH.  We'll have the slides posted soon.

@Chris, Mike, Matt - thanks for the info!

Patrick

Patrick Cozzi

unread,
Aug 19, 2015, 11:52:32 AM8/19/15
to cesium-dev
Slides for the 3D Tiles talk at the SIGGRAPH Cesium BOF are now up: http://cesiumjs.org/presentations/SIGGRAPH2015/Cesium3DTiles.pdf

Patrick
To unsubscribe from this group and all its topics, send an email to cesium-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/tCCooBxpZFU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/tCCooBxpZFU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Poul Sørensen

unread,
Aug 26, 2015, 3:56:42 AM8/26/15
to cesium-dev
Hi Patrick.

Do you have any ETA on when the core spec and loading of 3dtiles are into a master/release?

The solution I am working on atm involves tracks from cars and at this point I am going with a solution of converting to mapbox vector tiles which will be replacing data as we zoom in. I know that the vector tiles part of 3d tiles is not in near release time, but if the core spec loading is included I dont see anything stopping me from making my own small vector tiles with adding more details for the paths as the user zooms in specific for the solution I make now. (the goal here is to learn mostly, as of the quickest solution right now is just to put it all in a geojson format). 

So would be fun to try make my own little 3d tiles stuff for some gps tracks if the loading stuff is going into the master branch in near future.

To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/tCCooBxpZFU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/tCCooBxpZFU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Patrick Cozzi

unread,
Aug 26, 2015, 7:47:51 AM8/26/15
to cesiu...@googlegroups.com

Poul Sørensen

unread,
Aug 26, 2015, 8:04:41 AM8/26/15
to cesium-dev
I did, so the plan is to keep it in a different branch until spring 2016? or will some parts be merged into master as we go?

I will see if I sometime near future can get the build system setup such I can try things in the other branch otherwise. This was a rather painfull step back when using ol3 due to the hole core team using unix, so there was not much help/motivation to get the build running on windows.

Patrick Cozzi

unread,
Aug 26, 2015, 8:20:14 AM8/26/15
to cesiu...@googlegroups.com
Hi Poul,

> the plan is to keep it in a different branch until spring 2016?

Yes, we need to finalize the spec before bringing the implementation into master.

> will some parts be merged into master as we go?

Also yes, but these will be low-level implementation details like improvements to glTF.

Patrick

Patrick Cozzi

unread,
Sep 2, 2015, 10:24:22 AM9/2/15
to cesium-dev
Folks - here's a quick progress update on 3D Tiles.  We are
  • Putting the finishing touches on glTF to move it from 0.8 to draft 1.0 with a complete spec.  This is core to 3D Tiles since a few of the tile formats (e.g., batched models and instanced models) are built on glTF.
  • Adding the Cesium features needed to support vector/geometry tiles (think KML use cases more than just polygons, polylines, and points).  For example, Cesium 1.13 included polygon ground clamping.
  • Bringing Sean up to speed on the Cesium renderer so he can add WebGL instancing to the renderer and then instancing to 3D Tiles for trees, rocks, etc.
Patrick
To unsubscribe from this group and all its topics, send an email to cesium-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Biao Xiong

unread,
Sep 8, 2015, 4:46:10 PM9/8/15
to cesium-dev
Perfect! I cannot wait to try stream by myself. But how can i convert a large data with lots of kml files to a 3D tile file? 

Patrick Cozzi

unread,
Sep 9, 2015, 7:51:53 AM9/9/15
to cesiu...@googlegroups.com
Biao - it is going to be a bit before converters for this are in place.  Check out the Q&A section of the spec.

Patrick

--
You received this message because you are subscribed to a topic in the Google Groups "cesium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/tCCooBxpZFU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Patrick Cozzi

unread,
Sep 30, 2015, 2:50:24 PM9/30/15
to cesium-dev
Folks - here's another quick 3D Tiles update:
  • We continue to make good progress on glTF 1.0  Check out the spec-1.0 branch.
  • We started defining the Instanced 3D Model tile format (e.g., for trees) and the Composite tile format (e.g., for combining buildings and trees in the same tile).  See #23.
Patrick

To unsubscribe from this group and all its topics, send an email to cesium-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Patrick Cozzi

unread,
Nov 8, 2015, 2:51:40 PM11/8/15
to cesium-dev
Hi all,

Here's an update on 3D Tiles progress:
  • The Composite tile format is done.  This allows storing heterogeneous tiles in one tile.
  • The Instanced 3D Model format is done; however, there will be some changes to it before 1.0 to store each instance in a more optimized and flexible way.  This tile format is for lots of "instances" of the small model, e.g., drawing the same tree at many different locations each with a different height.
The Cesium implementation of these is almost through review, see #3158.

The next step is to get the 3d-tiles branch in better shape with tests and sample data since we are getting a lot of pull requests into it (thanks everyone!), we need to make it more production ready.

Patrick

Patrick Cozzi

unread,
Nov 8, 2015, 5:13:47 PM11/8/15
to cesium-dev
If you love details, here is the cleanup we're going to do to make the 3d-tiles branch more production ready: #3177.

Patrick

Александр Благовестнов

unread,
Nov 11, 2015, 5:29:36 AM11/11/15
to cesium-dev
Hi Patrick, all.
 
Can you give some example of 3d-tile usage?  I use very simple case with CanaryWharf tiles.json and its b3dm files, but tiles didn't appear.
I use HelloWorld example from Cesium - upgraded with 3d-tiles

  <script>
    var viewer = new Cesium.Viewer('cesiumContainer');
    var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
url : 'tileset',
show: true
}));
  </script>

My structure of tileset is same as CanaryWharf tileset

b3dm files were loaded (i can see it in network tab of console), but buildings doesn't appeared. 

Can anyone give advice? 
Thanks



воскресенье, 8 ноября 2015 г., 22:51:40 UTC+3 пользователь Patrick Cozzi написал:
To unsubscribe from this group and all its topics, send an email to cesium-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Patrick Cozzi

unread,
Nov 11, 2015, 10:50:31 AM11/11/15
to cesiu...@googlegroups.com
Hi,

That code looks great.  Are you sure the tiles.json has the correct bounding boxes and geometric error?

As part of #3177, we're going to add some trivial test data (and tests), which you will be able to compare against.

Patrick


Piero Toffanin

unread,
Nov 13, 2015, 11:46:16 AM11/13/15
to cesium-dev
Patrick,

This is a very exciting feature!

Here it says that "AGI is also developing tools for creating 3D Tiles": https://github.com/AnalyticalGraphicsInc/3d-tiles#Can-I-use-3D-Tiles-today

Are there any tools available today to help creating 3D Tiles or are they still a work in progress?

Thanks!

Patrick Cozzi

unread,
Nov 13, 2015, 5:55:11 PM11/13/15
to cesiu...@googlegroups.com
AGI's tools for 3D Tiles are still a work-in-progress as is the spec itself and the Cesium implementation, but things are moving along nicely.  I believe a few other folks - at least - are also building tools for 3D Tiles.  Search the forum or Google for more info.