Cesium in the next three months - what do you want to see?

Hi all,

To continue from the active Cesium in 2017 thread (over 1,100 views, wow!), we’d like to hear what you want to see in Cesium in April, May, and June.

The start to 2017 has been great; the releases have included a ton of bug fixes and major features including orthographic projection, custom CZML properties, compressed textures, billboard/label/point improvements, and the imagery splitter, not counting the January release and all the work in the 3d-tiles branch.

For April-June, we have the following in the pipeline:

  • Support for Google Earth Enterprise terrain and imagery. (blog post)

  • Line styles, thanks to Jason Beverage. #5159

  • New depth test options for billboards/labels/points and depth-fail polyline materials. #5166, #5160, #5168

  • glTF 2.0. #4009

  • Significant 3D Tiles performance improvement. #5128

  • 3D Tiles spec/implementation community review before final OGC community standard steps. (blog post)
    The other things we are considering for the next three months include:

  • New/reorganized tutorials and Sandcastle examples

  • Improved antialiasing

  • mesh compression, #5120

  • 3D Tiles vector tiles, #124

There is also ongoing performance work, and bigger features we may be able to start, but not finish, including sub-surface, improved modules, and WebGL 2.

As always, please chime in with your thoughts and +1’s, especially if they supplement the summary of the Cesium in 2017 thread.

Finally, Cesium has benefited from so many contributions from outside the core team this year. If you are able to lend a hand to work on something that is important for your project, check out CONTRIBUTING.md to get started. It is very much appreciated.

Thanks,

Patrick

I’m new with Cesium, may be my requests are already done or in the pipe

A way to simply build piechart, in otherword to draw pie (part of ellipse instead of a full ellipse) ?

A way to draw text that fit the ground like when you draw an ellipse for example instead of being orthogonal to the globe?

thanks

Just some thoughts about implementation of subsurface views. Seems
train stations etc. are simpler than lake bathymetry, which is my
personal interest. It would be great if bathymetry could be supplied
for a local area, with the global terrain provider remaining in effect
everywhere else.

Also bathymetry data is often quite coarse, so while the
multi-resolution representation I think the global terrain provider
uses would be nice to have, I suspect in many cases it will be
practical to use the highest resolution bathymetry data at all scales.
E.g. if working in a bay or a harbor with only 90 or even 30 m
bathymetry data, data volume wise supplying the whole dataset as a
simple grid might be quite feasible.

That might be useful for regular ground level applications too, e.g.
for work focused on a campus or historic site or other small area
where more refined elevation data is available and needed by the
application.

Thanks, Terry

Hey,

first thank you for your great work and please be patient with my english skills :smiley:

in our current project we need the ability to draw different complex geometry on the globe and update them dynamically. We have used the Draw Helper Plugin but now we have to implement it by ourselves with the Primitive Layer(Entity Layer is no option).

Unfortunately there is no other way (it's possible that i have not find the right way yet, so please enlight me if i'am wrong :D) then remove the Primitive and with it the containing GeometryInstance, and recreate the Primitive and the GeometryInstance on every update of eg. the positions. This causes flickering when you want to dynamically change the shape of a polygon on mouse move.

So what we need is the Ability to change eg. the Positions of a Primitive respectively the containing GeometryInstance without recreating it, like Polyline, PointPrimitive or Billboard does it.

I have done some research and find this issue (https://github.com/AnalyticalGraphicsInc/cesium/issues/932) on Github. I guess this could possibly solve this issue ?!

So this would be our feature request +1 :slight_smile:

thank you

Stop repainting when unnecessary to prevent burning CPU/GPU cycles. - https://github.com/AnalyticalGraphicsInc/cesium/issues/1865 & https://github.com/AnalyticalGraphicsInc/cesium/pull/3476

Any perf improvements would be great. Would also still love to see BillboardCollection backing texture reuse chunks to prevent memory-related crashes ( per https://github.com/AnalyticalGraphicsInc/cesium/issues/172 and https://github.com/AnalyticalGraphicsInc/cesium/issues/2094 ).

Thanks all for the input!

@Sébastien for the piechart, keep an eye on the sector geometry issue, #4754.

@Terry thanks for the input on subsurface. By chance, do you know of open bathymetry data you could point me to?

@jeremiasandris try setting “asynchronous : false” when creating the Primitive. If you have more questions about this, please start a new thread so we can keep this thread focused on the roadmap.

Patrick

For example: https://www.ngdc.noaa.gov/mgg/bathymetry/relief.html

has

https://www.ngdc.noaa.gov/mgg/greatlakes/michigan.html

which is ~ 100 m grid, this extent is a bit larger than I was thinking
of when I talked about a local patch of bathymetry in a bay or harbor
at 4201 x 5365 cells, but you could clip it to a smaller region.

I'll try and find a smaller extent / higher res. example too.

Thanks, Terry

Hi Patrick,

Thanks for the ongoing terrific work with Cesium! I’m hoping that the work on glTF 2.0 will include the ability to apply/replace textures on models during run time.

Thanks,

Rob

Hi Patrick,

Thanks also for the terrific work going on with Cesium.

I would love to see transparent background working with fxaa turned on. I know it is the crrent workaround to have it set false but it draws all the polygons very jiggered in my use case. It has been written up here:-
https://github.com/AnalyticalGraphicsInc/cesium/issues/1921

Cheers,
Sebastian

Thanks everyone for the input!

@Terry thanks for link to NOAA bathymetry. Super useful!

@Rob keep an eye on #2387.

@Sebastian good news, #5200 fixes the transparent background FXAA issue. Can you please test it and comment in that pull request?

Patrick

I would like to see orthometric terrain and elevations supported.

When dealing with things close to the ground I'm fetching a geoid height from the bing elevation api and applying corrections.

@Berwyn would a Mean Sea Level terrain dataset solve your problem if it were available like how STK World Terrain is used in Cesium today?

Thanks,

Patrick

that would work

thanks

Hi Patrick,

Overall I’ve had an awesome experience so far using Cesium and getting help on the forum here, and it gets “wows” when I show it off in my app. The top priority I would advocate for is general polish and bug fixing, especially for issues that are highly visible. If I could choose one bug to be fixed, it would be the camera allowing zoom into the Earth after zooming or flying to a billboard, which is highly visible in my app because I use a lot of “fly to” animation:

https://github.com/AnalyticalGraphicsInc/cesium/issues/4999

In my app I also had to pull back support for terrain, in part because of bugs and lack of support. I’d advocate support for draped polylines and fixes for issues related to billboard clamped to terrain (e.g. issues like I reported here and here).

As for new features, +1 on progression of 3D Tiles. The demos and screenshots look amazing, but it’s not clear to me how to try it out. Could a “Getting started” tutorial be written?

Thanks,

Jacob

Jacob - thanks for the great feedback.

Perhaps we’ll be able to look at the camera and billboard issues at an upcoming bug bash. In the meantime, you are also welcome to contribute a fix or help further narrow the issues down (see here to get started).

For polylines on terrain, a lot of devs use a Corridor geometry, with width defined in meters, and a GroundPrimitive. To approximate a constant pixel width, they swap in a few different corridors based on the view distance. It looks surprisingly good!

Patrick

Thanks for the feedback Jacob!

I’m working on a reorganization of our Cesium learning materials, and I’d love to create a 3D-tiles tutorial. Let me check in with the team about what would be an appropriate timeline for getting that done (plenty of things in the works right now, both code and doc-wise!). I’ll keep you updated.

On the learning resources side, is there anything else you wish we better documented?

Best,

  • Rachel

another way to clamp polylines to ground

Hi Rachel,

One issue I recently got caught on was how to listen to property changes, and I was given a solution on the forum (see here). I don’t see how I would have known how to do this by reading the documentation. So if I could wish for another tutorial, it would be one to cover advanced coding and customization techniques for Cesium.

But generally I use the Code Examples gallery to learn how to use the API, so my preference would be to see that maintained and grown.

Thanks,

Jacob

Thanks again for your input, Jacob! We could definitely use better coverage for such things. I’m working on expanding our tutorial and sandcastle examples, so I’ll definitely keep this in mind.

I’ve added your message to our tutorial conversation here: https://github.com/AnalyticalGraphicsInc/cesium/issues/5207

Please feel free to add to the thread if have any more specific notes! :slight_smile:

Thanks,

  • Rachel