PolylineVolume 3D Tiles

Hello,

I’m currently looking to implement the display of polyline volumes using 3d tiles. I know that the work on vector 3d tiles is still in progress (https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/TileFormats/VectorData) and there’s no support for polyline volumes yet.

I’d like to start working on this part of the specification. So far I’ve been able to write a 3d tile generator for 3d polylines and I’ve been able to load the resulting 3d tile into Cesium using the 3d-tiles and vector-tiles-polylines branches (see screenshot).

At this point I’m looking for a bit of guidance on how I should start approaching the development of polyline volumes for 3d tiles.

I’m guessing I’ll need to create a “GroundPolylineVolumeBatch.js”, related fragment and vertex shader and then tie the code to “Vector2DTileContent.js”? How should information about the shape function be serialized?

Any information and some direction would be greatly appreciated.

Thank you!

Screenshot from 2016-12-30 11-39-17.png

Hi Piero,

I think the right approach will be to extend the vector tile to support polyline volumes, which would be tessellated client-side to avoid bloating the payload.

Please start an issue in the 3d-tiles repo so we can keep the spec archive in one place.

Thanks,

Patrick

Hi Patrick,

Thanks for the reply! As I was brainstorming more on this, I was wondering if polyline volumes could be simply represented via batched 3d models. I can take a polyline volume, tessellate it server side, export it to glTF and voila’. This wouldn’t work if the polyline needs to be draped over the terrain however.

Am I right in assuming that vector tiles are meant to be draped over terrain?

And like you say, tessellating server side will increase significantly the payload.

Hi Piero,

I was wondering if polyline volumes could be simply represented via batched 3d models…

Yes, depending on if you can tolerate the increase in payload.

This wouldn’t work if the polyline needs to be draped over the terrain however.

Right, unless this is handled as part of the preprocessing of the tileset.

Am I right in assuming that vector tiles are meant to be draped over terrain?

The tile format is a work-in-progress, but polylines/points are clamped to terrain offline and polygons are clamped online given how the rendering engine works.

Patrick

Patrick,

I think my use case at the moment could tolerate an increase in payload, so I’m going to explore batched 3d models first. If that results in too much bandwidth usage, I will come back and look at implementing 3d polyline volumes via vector.

Thanks for your help!

Piero - keep us posted on your progress! Would love to see some screenshots when you are farther along.

Patrick

Here’s a quick update. As expected, the payload is heavier, but not unreasonable. Simplifying the geometry at higher levels is key to keeping the file size and polygon count under control. Performance is pretty good as well.

It took a bit of effort to understand both the 3D tiles and glTF specs, in the future I think some tutorials would greatly speed up the adoption of the standard. Perhaps when I have some time later this year I’d love to write about my experience with it.

On the other hand, I found both specs well designed and flexible, good job Patrick and Cesium team! I’ll post more updates as I go along.

Hi Piero,

Great news, thanks for the update!

The screenshot looks cool, do you have a demo we could check out?

As for the 3D Tiles tutorials, we would love for you to write some, please send me a note when ready. In the meantime, there is this glTF tutorial-in-progress and an upcoming glTF webinar.

Patrick