What would you like to see in CesiumJS?

Thanks for the feedback @shuidiBeida! Happy to see your extensive use has led to many suggestions.

I noticed you mentioned several times in your response that CesiumJS should improve upon visual quality, or display effect.

Can you be more specific about what you think could be most improved? For example labels and text, geometry, lighting, or something else?

6.The latest version of Cesium has added global Google tilt photography data. Is this data just for display or is it commercially available? Is there a clear response to this?

For the time being, this is an experimental REST API and I must refer you to Google’s documentation for more information.

Thanks!
Gabby

Thanks @cqliao!

I agree that CesiumJS could use visual quality improvements. Can you elaborate a bit more on this point with some specifics to help us narrow down what you’re looking for exactly? Do you have comparison images?

Thank you so much for giving me this opportunity!
I have too many details to come up with, and I hope you can return these suggestions to the development team:
1.Light sources are very important for beautifying the scene, and the display effect of multiple light sources in Cesium is not ideal. For example, I need to build a street light at night and then turn on the lights for a small car to drive. It seems that using Cesium is not very easy to build, or besides, how to do it, like the streamer light built at night in New York? I think the optimization of lighting is not just something that Shadowmap can solve. Cesium needs to optimize the lighting effect. I think this area has been improved and can do many interesting things!
2.The support for post rendering is not enough. I have tried several post rendering effects that Cesium currently supports, and the results are excellent. However, in the world of graphics, there seems to be a lot missing. Here, my screenshot is from three. js


For example, adding an SSR post rendering to a rainy day scene is a very good choice
3.The rendering of the model requires more refined effects. I am very grateful to the Cesium team. The gltf and 3dtile standards maintained by the team have brought many surprises to 3D around the world. As a result, Cesium quickly became popular, and I also know that the latest version in the source code has put a lot of effort into improving the rendering pipeline of 3dtile. However, while focusing on loading speed, it is necessary to take into account the rendering effect. Coincidentally, I am familiar with Three and Cesium source code, such as gtlf or glb, Cesium lacks processing in many fine rendering effects, resulting in the same model, and the display effect of Three is even better than Cesium! I will provide you with a testing link here: three.js editor
You can test it yourself, place the same model, render with cesium and three, and you will come to a conclusion!

I think this can be avoided. In the next few versions of Cesium, we should focus on how to improve the rendering effect of the model. If this is achieved, we can cheer, Cesium is the best engine!

4.The cloud layer of cesium has disappointed us, and even my own writing is better than the cloud on the official website. The official website demo now supports clouds and uses noise for processing. I think this consideration is too simplistic, and the display effect is also very fake. Let’s make a hypothesis, I need to simulate an airplane passing through clouds or high mountain clouds, but I can’t do it using the current interface!
5.As mentioned above, for the effect of water surface, please add a reflection like water surface or a more realistic wave effect
6.I don’t think we need too many features, but we need cooler features. For example, in the current particle system of Cesium, although many parameters have already provided interfaces that are easy for us graphic developers to master, it is actually difficult for many people who do not understand the source code to debug an effect. Can we add a few more demos to this part, such as fountain, river, fire, fireworks, and so on
7.The display effect of the model mentioned above reminds me that ceium needs to support more materials and textures for graphics, which I believe the ceium team should have noticed. In fact, many effects rely on these
8.Why does Cesium like to use a black sky box? Is it because the universe is very profound? I also know that the Sky Box can be replaced on its own, but I hope CESIUM will consider optimizing the Sky Box and adding the atmosphere to make the ball more beautiful, rather than looking lifeless. First impressions are important
9.The old version of Cesium’s label was indeed terrible, but now it’s already great! But I think the aggregation function needs to be further improved. Here I provide screenshots of mapV, which are better in practical use
https://mapv.baidu.com/examples/#baidu-map-point-grid.html
Actually, we can do it ourselves by drawing, but Cesium support would be better
10.dimensions are composed of points, lines, and surfaces. The drawing of lines in Cesium requires additional effects, such as glowing lines. Although Cesium now has a material that also supports glowing lines, the effect is too severely fractured and cannot be used. You can try it out, but I won’t take screenshots of this
11.There is a detail about the overall darkness of the Cesium scene. I know that by modifying the light source and adding strong post rendering, the scene can be brightened up, but the effect is not very ideal. Similarly, b3mm or glb may be darker in Cesium, including the image module. Of course, you may suggest that the image supports brightness adjustment, but what I want to express is not about adjusting the details, but the overall darkness of the entire scene
12.Sorry, I said too much at once, although there are still many things I want to communicate with you. But I believe the Cesium team will take my suggestions seriously. Cesium has a large source code volume, which is your contribution and proves that Cesium has more potential than many engines. I sincerely hope that Cesium can continue to improve its display performance, so that Cesium will become better and more popular!
Looking forward to Cesium’s reply! Thank you!

It’s not just for CesiumJs, but for the Cesium organization, creating a new way to communicate, forum is an old way of doing that, maybe a discord channel is a better approach, the other members can help and avoid creating issues on github

I hope it’s okay to bring this thread back up.

I’d love to be able to not only pass entities but also the terrain into the sampleHeight or sampleHeightMostDetailed functions to be ignored when sampling, as currently it seems like it is not possible to sample the height of underground features without turning the globe off. Turning the globe off and on is okayish as a workaround, but for the user it’s unpleasant if the globe either flickers, or in my case with a longer calculation the globe just disappears entirely for a few seconds.

Regards,
Jacques

  • Multiple terrain models.
  • Flatten terrain tool (terraform/bulldozer efffect).
  • Better/easier to use clipping tools. Functions like multiple holes and concave shapes.
  • Overall performance. Cesium tends to feel a bit laggy and slow. I work in urban planning and infrastructure and I love Cesium. But I rely more and more in other options like Babylon, Potree, IFCjs, Mapbox. The end user experience just feels much more performant and smooth.
2 Likes

vector tiles, should also help apple jittering problems

2 Likes

Generally speaking, more flexibility for custom shaders.

Small example is In custom shaders, why is the final computed color converted to `sRGB`? .
Bigger things are accumulation frames and other fancy stuff that can be done if I use shaders from scratch, but seem to be complicated or even restricted with Cesium.

Thanks everyone for the input. Please keep the suggestions coming!

gaussian splatting :smiley:

5 Likes

Where can I see the latest roadmap

Hi, new to Cesium here, but I guess I will throw some suggestions for my own sake. A chase cam function would be nice. That is, having the camera to follow the entity along the path. Also is it possible to configure a personalized timeline?
Also, I wonder under those animation scenes, can users still control the camera manually? Like zooming in, or pan out to give more flexibility to users.
I would be grateful if there are methods to create data sources in different formats, e.g. czml.

1 Like

@tan_yc We’ll likely start a new thread like this shortly with our thoughts.

1 Like

Hi,

I have a recent customer requirement that I would like to implement with a CorridorGraphics. The problem is that CorridorGraphics does not support configuration of ArcType, similar to PolylineGraphics, in order to draw the corridor along a rhumbline.

I found this issue which suggests it was added to the roadmap at some point so hopefully an implementation to add ArcType support to CorridorGraphics isn’t too far away.

Thanks,
Seán.

Love using CesiumJS - my main points for improvement:

  • Fix skipLOD tile traversal (is this still applicable with the intro of tiles 1.1 & random tile access?)
  • Vector Data
    • Current support for vector data, such as SHP, KML & GeoJSON, is one of the few things which is leaving a poor impression of Cesium based products onto either GIS employees or users who need to consume GIS based data
    • To my understanding this has been worked on, but I haven’t heard much about this
    • Support of vector imagery providers
  • Terrain layers at runtime
    • Currently we can only have one terrain provider at any one time. Would be great if we could have multiple terrain providers, similar to how multiple imagery providers are supported via imagery layers
1 Like

Thanks for the great work on CesiumJS to date!

  • Vector Data
    • SHP, GeoJSON would be fantastic to support (with holes). Converting the vector sources to raster tilesets works, but its less accurate and much heavier weight than just supporting the vector information directly.
  • Typescript throughout source library (really just a nice to have - but could improve source quality by fixing typing issues in the core library)
  • Temporal support in 3D Tiles. We have multiple use cases for this:
    1. Vehicle/aircraft/spacecraft positions. Want to show “real-time” locations of aircraft and satellites coupled with the time slider. We have explored using CZML to support limited numbers of objects and worked through some samples using Cesium primitives, but both seem limited by the number of objects (less than exist normally). Could convert “chunks” of data to 3D Tiles, but no easy way to stream changes to 3D Tiles points.
    2. 3D Tiles values - We are displaying weather information (temperature, humidity, clouds) using 3DTile sets - but to dynamically change the values requires a complete 3D Tiles swap out at each time step. If we are updating the weather every 15min and are scrolling through the time slider, this is painful even for HLOD optimized tile sets. And if we want to replace some of the values at 5min cadence, you can’t mix updates to them easily.
1 Like

Hi, just want to see if there is any chance to have some tracker function and that allows user to control the speed and camera angles.