Cesium in 2016 - what do you want to see?

2,169 views
Skip to first unread message

Patrick Cozzi

unread,
Jan 5, 2016, 10:26:41 AM1/5/16
to cesiu...@googlegroups.com
Hi all,

As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
  • Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.
  • Label declutter
  • Terrain on by default - including Entity API and polylines on terrain
  • Improved KML support - #873
  • Improved tutorials and code examples
  • Improved CZML documentation
  • Shadows
  • Native VR - branch
  • WebGL 2 - #797
Of these, what do you need most?  What else is important to you?

Thanks,
Patrick

patric...@gmail.com

unread,
Jan 5, 2016, 10:32:17 AM1/5/16
to cesium-dev
Needed most : submarine terrain !!

Webgl2 !

Matt Whalley

unread,
Jan 5, 2016, 12:49:30 PM1/5/16
to cesium-dev
1. Prioritization of frame rate (smoother camera motion rendering):
    Let me explain. When used as a low-altitude flight simulator Cesium will frequently stall/stutter while loading new terrain. This is worst during a sudden yaw maneuver which suddenly brings a lot of new terrain into view. My uneducated guess is that cesium blocks while trying to download the new terrain detail. This block can last long enough to drag the frame rate down considerably. The stuttering in the scene movement is highly undesirable.

2. 3D Tiles for buildings:
       I've transitioned from GE to cesium for our real-time and post-flight flight test visualization and the MOST frequent question is "where's the buildings?". I would love to make this question go away. I've downloaded several local relevant buildings as models from the Sketchup 3D Gallery and hacked them in as entity models but they really are quite poorly made. On top of which the shading is wrong (it follows the camera position). If I could get back to having someone else serve up building a la GE I would be much much happier.

3. Entity and polylines on terrain:
    I sorely miss being able to plant models and polylines on the terrain.

- M

Patrick Cozzi

unread,
Jan 5, 2016, 2:12:27 PM1/5/16
to cesium-dev
Matt - good ideas, thanks for the input!

For (1), do you have a link to the app?  Cesium doesn't block on download and throttles texture uploads to try to avoid cases like you describe.  However, it could be the GC.  Part the 3D Tiles roadmap is to introduce a request and job scheduler that may help here.

Also, that reminds me of another feature that may be of interest to folks for 2016:
  • Do not render when paused. #1865
Patrick

Matt Whalley

unread,
Jan 5, 2016, 2:45:54 PM1/5/16
to cesium-dev
It's all behind a firewall unfortunately. By GC do you mean the graphics card?

My main loop:

function tick() {
    
    updateStateTime();
    updateState();
    updateSkyAtmosphere();
    updateCamera();
    updateHUD();
    updateDivText();
    
    viewer.render();
    Cesium.requestAnimationFrame(tick);
}
Message has been deleted

smil...@gmail.com

unread,
Jan 6, 2016, 12:35:49 AM1/6/16
to cesium-dev
My number 1 is definitely:

Terrain on by default - including Entity API and polylines on terrain.

And specifically the ability to be able to lock entities/lines to terrain and have them stay on top of it as you move the time slider back and forth. Currently I am not aware of a way to do that.

On Tuesday, January 5, 2016 at 11:26:41 PM UTC+8, Patrick Cozzi wrote:
> Hi all,
>
>
> As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
> Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
> Native VR - branchWebGL 2 - #797

jbo023

unread,
Jan 6, 2016, 3:45:56 AM1/6/16
to cesium-dev
Hello, 

As first priority, we would like to see 3D-Tiles finished and merged into the master branch.

Also building shadows for 3D-Tiles would be nice. 

Jannes

Patrick Cozzi

unread,
Jan 6, 2016, 7:54:27 AM1/6/16
to cesiu...@googlegroups.com
Great feedback everyone, keep it coming!

@Matt by GC, I mean the JavaScript runtime's Garbage Collector.

@Jannes when we implement shadows, it will be a general approach that works for everything: buildings in 3D Tiles, 3D models from glTF, terrain from quantized-mesh, etc.  It will be very cool.

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/jGgNInY2Fqo/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.



--

crsyt...@gmail.com

unread,
Jan 7, 2016, 2:05:52 AM1/7/16
to cesium-dev
在 2016年1月5日星期二 UTC+8下午11:26:41,Patrick Cozzi写道:
> Hi all,
>
>
> As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
> Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
> Native VR - branchWebGL 2 - #797
> Of these, what do you need most?  What else is important to you?
>
>
>
> Thanks,
> Patrick
>
> --
>
>
> twitter.com/pjcozzi


It is strongly recommended to solve this problem : Entity being clamped to ground is not supported.

Mati O

unread,
Jan 7, 2016, 3:13:20 AM1/7/16
to cesium-dev
To me it would be :
    • Terrain on by default - including Entity API and polylines on terrain
    • Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.
    • WebGL2
    Thanks for all your efforts!

    susan....@tamucc.edu

    unread,
    Jan 7, 2016, 3:12:31 PM1/7/16
    to cesium-dev
    would like vector tiles and model orientation

    Austin Logie

    unread,
    Jan 7, 2016, 5:24:41 PM1/7/16
    to cesium-dev
    Hi Matt,

    Re: #2- CyberCity 3D creates high res building models for use in Cesium. We have a few demos up on the Cesium website that you can check out.  We largely work with cities/downtown development organizations, but have worked with simulators in the past.  I think we could help- let me know if you're at all interested.

    Austin

    vk3...@gmail.com

    unread,
    Jan 7, 2016, 9:34:42 PM1/7/16
    to cesium-dev
    Option to install only the files needed to run.

    No doc's, No samples, etc.

    Patrick Cozzi

    unread,
    Jan 8, 2016, 7:25:43 AM1/8/16
    to cesiu...@googlegroups.com
    Susan - what exactly do you mean by model orientation?

    Thanks,
    Patrick

    On Thu, Jan 7, 2016 at 9:34 PM, <vk3...@gmail.com> wrote:
    Option to install only the files needed to run.

    No doc's, No samples, etc.
    --
    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/jGgNInY2Fqo/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.

    Rogers, Susan

    unread,
    Jan 8, 2016, 10:26:53 AM1/8/16
    to cesiu...@googlegroups.com

    Thanks Patrick, 

     

    Yes, I’m sorry that I was vague.  It seemed there was some talk of making czml model orientation easier than figuring out quaternions.  I’d be very interested in that.  I am unable to orient a model on a given lon, lat, height path in czml with “orientation : unitQuaternions”.  My model stays in a fixed orientation.  The only way I am able to get my glider to follow a path is to hardwire it into the html, eeks!  -- just so that I may use the easy way to orient the model with “orientation : new Cesium.VelocityOrientationProperty(position)”. 

     

    I don’t know how to put Cesium functions into a czml and it seems that the milktruck czml is able to do this with something in the html header.  I am a little lost as to piecing together the parts I need out of the many provided examples in sandcastle or in calculating quaternions.

    Thank you for your attention.  I would really be excited to get the model into my Cesium App!

     

    Susan

     

    Hardcoded into my html:

    //Generate a pattern  with varying heights.

    function computeFlight(lon, lat, height) {

        var concavex = [-89.0000,-88.5833,-88.0500,-87.5667,-87.1667,-86.8000,-86.4167,-86.1500,-85.8333,-85.6333,-85.3833,-85.2667,-85.1833,-85.2333,-85.2500,-85.2167,-85.2167,-85.3000,-85.3000,-85.4333,-85.7333,-86.2833,-86.8667,-87.2500,-87.5833,-87.8000,-87.9833,-88.2500,-88.4833,-88.6167,-88.9000,-89.1333,-89.3167,-89.6500,-90.0667,-90.5333,-91.0000,-91.4167,-92.0000,-92.4667,-92.8500,-93.1333,-93.4333,-93.4500,-93.3833,-93.1167,-92.9667,-92.7000,-92.3500,-92.2000,-91.9000,-91.5500,-91.1000,-90.7167,-90.3167,-89.9667,-89.6833,-89.5333,-89.2167,-88.4667,-87.6833,-87.6000,-87.6500,-87.9500,-89.0833,-89.9333,-90.8000,-91.7333,-92.8500,-92.9833,-93.3500,-93.8500,-94.3833,-94.8167,-95.4167,-95.8500,-96.1500,-96.1833,-96.1667,-96.1500,-96.0667,-96.0667,-96.2000,-96.3000,-96.2667,-96.1000,-95.8333,-95.5667,-95.3000,-94.7333,-94.1500,-93.7667,-93.4333,-93.1000,-92.9167,-92.9333,-93.0167,-93.0333,-93.0833,-93.1500,-93.1667,-93.1667,-93.1167,-92.9667,-92.6667,-92.3833,-92.1167,-91.4833,-90.8167,-89.4333,-88.8667,-88.6500,-88.0167,-87.7500,-87.7167,-87.9167,-88.4833,-89.2167,-90.1000,-90.8000,-91.2000,-91.5833,-91.9500,-92.0833,-92.0500,-91.4000,-90.5667,-90.0167,-89.5167,-88.9167,-88.4000,-88.0500,-87.7333,-87.5667,-87.4667,-87.4500,-87.4500,-87.5333,-87.7500,-88.0333,-88.5667,-89.5667,-90.0833,-90.6333,-90.6333,-90.7667,-90.4667,-89.8500,-89.4500,-89.1167,-88.7833];

                    var concavey = [28.2000,28.1667,28.1500,28.0500,27.9500,27.8833,27.7667,27.5833,27.4167,27.2500,27.0667,26.9000,26.6500,26.5000,

    26.2667,25.8667,25.4833,25.1333,24.8833,24.7000,24.4333,24.2333,24.1667,24.1500,24.2000,24.3333,24.4167,24.6167,

    24.8167,24.9333,25.1667,25.4167,25.6000,25.7667,25.8333,25.8500,25.8500,25.8333,25.8000,25.8000,25.8000,25.8667,

    26.0167,26.2333,26.4333,26.7333,26.8333,26.9667,27.0833,27.1167,27.1833,27.2500,27.2833,27.3833,27.3667,27.4500,

    27.5333,27.6667,27.8333,27.8000,27.3667,27.0167,26.5500,26.2667,26.1500,26.0667,26.0000,25.9500,25.8333,25.8000,

    25.8833,25.8333,25.8000,25.8000,25.7333,25.6667,25.4000,25.0000,24.6333,24.1500,23.7167,23.4167,23.0500,22.6167,

    22.2167,21.9167,21.7667,21.5833,21.5167,21.5167,21.5167,21.5167,21.5667,21.6333,22.0333,22.5167,22.7167,22.9667,

    23.1833,23.4000,23.7167,24.2167,24.5333,24.7500,25.1000,25.2167,25.3667,25.8500,26.0833,26.4500,26.4833,26.4833,

    26.2500,25.8500,25.2667,24.8667,24.5167,24.3667,24.3000,24.2667,24.0833,23.8333,23.4167,22.8000,22.6167,22.3500,

    22.4000,22.5167,22.6000,22.8333,23.2000,23.4667,23.7500,23.9667,24.2500,24.5500,24.9667,25.2833,25.5167,25.7833,

    26.0667,26.5500,26.7000,26.7667,26.7667,27.0667,27.3833,27.8333,28.0500,28.2333,28.3833];

                    var concaveh = [326172.4138,298396.5517,272482.7586,254068.9655,245689.6552,242482.7586,234775.8621,229913.7931,226810.3448,

    226189.6552,224844.8276,224896.5517,224068.9655,223758.6207,223137.931,224275.8621,223344.8276,222465.5172,

    222568.9655,220137.931,218896.5517,247137.931,322086.2069,352034.4828,367965.5172,366000,350120.6897,

    313913.7931,214241.3793,214500,216155.1724,218586.2069,223137.931,226396.5517,226034.4828,219568.9655,

    217758.6207,222310.3448,243827.5862,233482.7586,229034.4828,225258.6207,232913.7931,292293.1034,306051.7241,

    322655.1724,322913.7931,318103.4483,316137.931,318206.8966,328241.3793,320793.1034,306051.7241,329637.931,

    327724.1379,329896.5517,325396.5517,326120.6897,321051.7241,278224.1379,249931.0345,246931.0345,248482.7586,

    246000,239017.2414,230068.9655,219775.8621,274137.931,229551.7241,224741.3793,227275.8621,225879.3103,

    226655.1724,232758.6207,300931.0345,344431.0345,346189.6552,332275.8621,305793.1034,277862.069,260586.2069,

    270206.8966,271189.6552,268862.069,265189.6552,258465.5172,260741.3793,251120.6897,239172.4138,218120.6897,

    231051.7241,231982.7586,230120.6897,233844.8276,226293.1034,210827.5862,204724.1379,200689.6552,200844.8276,

    200586.2069,199913.7931,201000,200741.3793,201775.8621,210724.1379,216103.4483,224431.0345,250086.2069,

    223344.8276,242327.5862,256241.3793,261465.5172,245689.6552,231568.9655,218896.5517,266689.6552,306568.9655,

    210672.4138,200637.931,202603.4483,202034.4828,200586.2069,200637.931,199448.2759,207672.4138,388706.8966,

    390827.5862,390827.5862,391396.5517,391810.3448,390413.7931,390465.5172,384620.6897,380172.4138,354775.8621,

    310603.4483,218741.3793,219258.6207,223500,232137.931,241086.2069,244706.8966,253706.8966,301603.4483,

    301603.4483,308896.5517,325034.4828,344431.0345,333465.5172,335379.3103,322241.3793];

        var property = new Cesium.SampledPositionProperty();

        for (var i = 0; i<150; i +=1) {

                    //var radians = Cesium.Math.toRadians(i);

                    var time = Cesium.JulianDate.addSeconds(start, i, new Cesium.JulianDate());

                    var position = Cesium.Cartesian3.fromDegrees(concavex[i],concavey[i],concaveh[i]);

                    property.addSample(time, position);

                    }//for var i loop

                    return property;

    }//function computeCircularFlight

     

    //Compute the entity position property.

    var position = computeFlight(-92.248, 24.0793, 483065);

     

    //Actually create the entity

    var entity = viewer.entities.add({

        //Set the entity availability to the same interval as the simulation time.

        availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({

            start : start,

            stop : stop

        })]),

                    "name":"Glider",

                                    "description" : "<!--HTML-->\r\n<p><img src='glider.jpg' height='80' width='150' scrolling='no' style='float:left; margin: 0 1em 1em 0;'</img><a href = https://gliderpage target=_blank > Glider</a><br></br>\r\n</p>",

        //Use our computed positions

        position : position,

        //Automatically compute orientation based on position movement.

        orientation : new Cesium.VelocityOrientationProperty(position),

        //Load the Cesium plane model to represent the entity

        model : {

            uri : 'SampleData/models/glider/model.glb',

            minimumPixelSize : 45

        }//,

    });//var entity

    [two drop-down lists to select two czml’s at a time …I have a whole bunch of czml’s and I would like one of the selectable czmls to be the glider with its path and orientation]

    Sandcastle.reset = function() {

    Viewer.dataSources.removeAll(false);

    jsto...@gmail.com

    unread,
    Jan 8, 2016, 1:34:03 PM1/8/16
    to cesium-dev
    On Tuesday, January 5, 2016 at 8:26:41 AM UTC-7, Patrick Cozzi wrote:
    > Hi all,
    >
    >
    > As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    > Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
    > Native VR - branchWebGL 2 - #797
    > Of these, what do you need most?  What else is important to you?
    >
    >
    >
    > Thanks,
    > Patrick
    >
    > --
    >
    >
    > twitter.com/pjcozzi

    Patrick,

    Improved KML support would be a nice addition. Another thing which be nice to have would be a terrain Exaggeration improvement, if the value of terrain exaggeration is changed primitives/entities would be adjusted accordingly.

    Thanks

    Jerry

    Berwyn McKilligan

    unread,
    Jan 8, 2016, 3:12:41 PM1/8/16
    to cesium-dev

    I would really like to see along with "Terrain on by default" terrain with orthometric elevations  , rather than elliptical

    thanks for all the hard work so far !!

     

    Chris Wingler

    unread,
    Jan 10, 2016, 12:28:21 AM1/10/16
    to cesium-dev
    Saving terrain for offline use!

    On Fri, Jan 8, 2016 at 3:12 PM Berwyn McKilligan <berwyn.m...@gmail.com> wrote:

    I would really like to see along with "Terrain on by default" terrain with orthometric elevations  , rather than elliptical

    thanks for all the hard work so far !!

     

    --
    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.

    Svetoslav Batsoev

    unread,
    Jan 10, 2016, 10:25:36 AM1/10/16
    to cesium-dev
    My number one is Shadows.

    Patrick Cozzi

    unread,
    Jan 11, 2016, 3:34:05 PM1/11/16
    to cesiu...@googlegroups.com
    @Berwyn do you have more details on orthometric elevations?

    @Svetoslav would love to see shadows too, especially with the upcoming 3D buildings support.  What is your use case?

    Thanks,
    Patrick

    On Sun, Jan 10, 2016 at 10:25 AM, Svetoslav Batsoev <sveto...@gmail.com> wrote:
    My number one is Shadows.

    --
    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/jGgNInY2Fqo/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.

    Svetoslav Batsoev

    unread,
    Jan 12, 2016, 12:58:04 AM1/12/16
    to cesium-dev
    @Svetoslav would love to see shadows too, especially with the upcoming 3D buildings support.  What is your use case?

    I just want some artistic effects on the planet - to be able to do different lighting over the whole planet - for example point light, and shadows on the edges, to get perception of more depth, more 3d look. My project only uses imagery and not 3d tiles, and the planet looks too "flat". So As I'm thinking now, besides shadows I would like lighting as well. If it's on the project schedule at all.

    mail...@gmail.com

    unread,
    Jan 12, 2016, 3:02:21 AM1/12/16
    to cesium-dev
    Hello all,

    I think shadows is definitely something that adds to the "value" of Cesium and would be very nice to see implemented in 2016.

    Also, extending the groundprimitives capabilities would be great. So that one can also extrude a groundprimitive / put images as texture.

    With other words, all the stuff that is possible with normal primitives should also be possible when the terrain is turned on..

    And last but not least: fix the issues #3172 and #3173 :)

    Thanks,
    Lucas

    Patrick Cozzi

    unread,
    Jan 12, 2016, 9:00:29 AM1/12/16
    to cesiu...@googlegroups.com
    Thanks for the great feedback, keep it coming!

    So far, it looks like the most popular items are:
    • Terrain clamping / terrain on by default (by far the most popular)
    • 3D Tiles
    • Shadows
    • WebGL 2
    Any other thoughts on these?  What else is important to you?

    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/jGgNInY2Fqo/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.

    Xavier Tassin

    unread,
    Jan 12, 2016, 11:30:04 AM1/12/16
    to cesium-dev
    I would love to see improvements on the water mask (aliasing of the terrain/water boundary).

    Working on a tighter/foul-proof integration with GLTF standards: conversion results are still a bit random in terms of model quality: lighting/normals are off, tools are a bit clumsy, etc. Better implementation of material/shaders for models (specular, alpha blending, reflection)

    In general, I would say that the real plus from using webGL compared to Go*cough*le Plugin is that you can pull out nice visual effects/shaders:
    - improve billboards (z-sorting/blending and scaling) in order to make clouds/particles/lights
    - Improve water shader: tiling is visible, not very realistic
    - model shaders
    - shadows, indeed

    3D tiles, much!

    Thanks for all the work so far.

    Xavier.

    ch...@cloudahoy.com

    unread,
    Jan 12, 2016, 12:08:19 PM1/12/16
    to cesium-dev
    Cesium is improving quickly - thanks folks!!!

    My features' short list:

    * 3D building and trees, 'a la GE
    * Better/clearer way to label a given coordinate on the ground (example in GM: https://www.dropbox.com/s/hfac6btwbxfrps5/labelExample.png?dl=0)

    Thanks,
    Chuck

    Piero Toffanin

    unread,
    Jan 12, 2016, 12:39:18 PM1/12/16
    to cesium-dev
    I think 3D tiles should be the top priority. Something else that would help speed up adoption is the creation of tools and/or libraries to help create 3d tiles.

    Piero Toffanin

    unread,
    Jan 12, 2016, 12:44:20 PM1/12/16
    to cesium-dev
    Count my vote also for shadows, I think they would add to the realism and be useful for various analysis tasks.

    Berwyn McKilligan

    unread,
    Jan 12, 2016, 2:13:59 PM1/12/16
    to cesium-dev

    for the orthometric elevation, the wish is a terrain data set that has/uses orthometric elevation for the terrain rather than ellipsoid elevations.

    I have data that has orthometrc elevations (relative to sea level) and I am plotting this, and often scaling vertically.  To get things to be positioned properly in cesium I need to apply a geoid offset to elevations.

    Currently I am fetching a geoid offset from the bing maps api for an items location and then applying that to the geometry/entities related to that item (https://msdn.microsoft.com/en-us/library/jj158957.aspx)

    The orthometric elevation is also needed to display properly KML content that has an altitudeMode = absolute.  At the moment, this isn't rendered properly in cesium as far as I know.

    Also when performing terrain picking , the geoid needs to be applied.

    For example if a widget is displaying terrain information for a location that a user is mousing over, and the user is mousing along the ocean shoreline, the terrain elevation values should be at or near zero. 
    Currently sea level is at different elevations, depending on where one picks terrain on the globe, large lakes will have shorelines at different elevations, and rivers can flow uphill.


    I posted a few questions about it earlier in 2015, Matt mentioned it was somewhere on the todo list, but I imagine its a long list ;)

    Kevin Ring

    unread,
    Jan 12, 2016, 5:32:38 PM1/12/16
    to cesiu...@googlegroups.com

    You can grab this code from TerriaJS to compute the difference between mean sea level and the ellipsoid on the client:
    https://github.com/TerriaJS/terriajs/blob/master/lib/Map/EarthGravityModel1996.js

    --
    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.

    Daniel Wild

    unread,
    Jan 12, 2016, 7:20:37 PM1/12/16
    to cesium-dev
    Hi,

    Love your work! 
    I just posted yesterday, asking if there were any plans to ever add geometry drawing/editing to the core  (DrawHelper plugin has stagnated): http://cesiumjs.org/forum.html#!msg/cesium-dev/-LICq1-Xn04/psXm0ajxDgAJ 

    I'd like to put a vote in for this type of functionality to be added to Cesium core (draw, edit and/or delete geometries/primitives).

    Thanks.

    Berwyn McKilligan

    unread,
    Jan 12, 2016, 7:58:02 PM1/12/16
    to cesium-dev
    @kevin the grid file  WW15MGH.DAC is the same as the  one here?:

    kjartan...@gmail.com

    unread,
    Jan 13, 2016, 7:49:43 AM1/13/16
    to cesium-dev
    - 3D Tiles
    - WebGL 2
    - Shadows
    - Subsea terrain and water surface

    Let me explain a bit more about the last one. It would be nice to have a surface for water (lakes, seas and rivers) and at the same time be able to have subsea terrain below. That is, two terrain surfaces where one of them would act a bit like water mask does today.

    I am thinking that the Quantized Mesh format could get another extension where actual water polygons are listed. With water lines as break lines (which seems to be the case for AGI's terrain model), I imagine this could work well for high resolution terrain data - at high zoom levels. This would only require extra nodes for the tile edges that are subsea. A simpler solution would be to simply add the local tile lake/sea height as one variable and reuse that for edge nodes - but that would take away the possibilities for visualizing rivers which would have a sloping surface.

    Being able to turn on and off the water surface would make for a whole new set of applications.

    heiko...@gmail.com

    unread,
    Jan 14, 2016, 8:06:15 AM1/14/16
    to cesium-dev
    Am Dienstag, 5. Januar 2016 16:26:41 UTC+1 schrieb Patrick Cozzi:
    > Hi all,
    >
    >
    > As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    > Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
    > Native VR - branchWebGL 2 - #797
    > Of these, what do you need most?  What else is important to you?
    >
    >
    >
    > Thanks,
    > Patrick
    >
    > --
    >
    >
    > twitter.com/pjcozzi

    Most important for me would be to reduce unnecessary rendering calls. We do not need rendering of universe and no other rendering, so it is not necessary to repaint scene as long as we have no user interaction or any asynchronous loaded data are ready. Because of this it is currently a bad idea to let Cesium open if you run on battery.

    Christian Ledermann

    unread,
    Jan 14, 2016, 8:15:55 AM1/14/16
    to cesiu...@googlegroups.com
    - Bathymetry ( Subsea terrain and water surface)
    > --
    > 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.



    --
    Best Regards,

    Christian Ledermann

    Newark-on-Trent - UK
    Mobile : +44 7474997517

    https://uk.linkedin.com/in/christianledermann
    https://github.com/cleder/


    <*)))>{

    If you save the living environment, the biodiversity that we have left,
    you will also automatically save the physical environment, too. But If
    you only save the physical environment, you will ultimately lose both.

    1) Don’t drive species to extinction

    2) Don’t destroy a habitat that species rely on.

    3) Don’t change the climate in ways that will result in the above.

    }<(((*>

    Patrick Cozzi

    unread,
    Jan 14, 2016, 10:20:19 AM1/14/16
    to cesiu...@googlegroups.com
    Thanks again for the lively input!

    One last question: I haven't seen a lot of discussion on developer docs and examples, CZML, or support for other formats (except, of course, 3D Tiles).  What does everyone think about these?

    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/jGgNInY2Fqo/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.

    Mark Erikson

    unread,
    Jan 14, 2016, 10:39:08 AM1/14/16
    to cesium-dev
    The actual Cesium API docs are great.  The CZML docs, though, feel rather neglected.  Last I checked, it was one giant Markdown file in a wiki, and I got the impression it hadn't been updated in a while.  Could probably use some attention.

    rsig...@gmail.com

    unread,
    Jan 14, 2016, 5:42:22 PM1/14/16
    to cesium-dev
    Improving the CZML docs would be great. Also providing some complex examples of CZML would be great. I had trouble finding anything other than toy examples.

    I'd love to figure out how to effectively use CZML to solve problems like one
    https://github.com/cleder/czml/issues/20

    Willem van der Gugten

    unread,
    Jan 15, 2016, 8:36:28 AM1/15/16
    to cesium-dev
    Hi Patrick,

    Cancelling a flyTo() would be very helpful. Our use case: an interactive system with a touch screen, where we run autonomous animations (flyTo's) but these should stop if the user interacts with the screen.

    For documentation, a small tutorial about the differen reference system (ENU, World) and transforms (quaternions?) would be helpful, see e.. my question here: https://groups.google.com/forum/#!topic/cesium-dev/HHOfGfWiZC0 

    Thanks, Willem


    On Tuesday, January 5, 2016 at 4:26:41 PM UTC+1, Patrick Cozzi wrote:
    Hi all,

    As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    • Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.
    • Label declutter
    • Terrain on by default - including Entity API and polylines on terrain
    • Improved KML support - #873
    • Improved tutorials and code examples
    • Improved CZML documentation
    • Shadows
    • Native VR - branch

    Patrick Cozzi

    unread,
    Jan 15, 2016, 8:57:42 AM1/15/16
    to cesiu...@googlegroups.com
    @Willem - for your suggested tutorial, we want to write a general introduction to 3D geospatial to help ramp-up new contributors so this would align nicely!

    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/jGgNInY2Fqo/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,
    Jan 15, 2016, 11:05:57 AM1/15/16
    to cesiu...@googlegroups.com
    Hi all,

    Once again thanks for the great input!  We appreciate your help in shaping the future direction of Cesium.  It is amazing how far you are pushing Cesium with your apps!

    To summarize a few takeaways from this discussion, here's the most popular items:
    • Improved ground clamping.  ~7 mentions
    • 3D Tiles / buildings.  ~7 mentions
    • Shadows.  ~7 mentions
    • Subsurface terrain.  ~3 mentions
    • WebGL 2.  ~3 mentions
    Here's a few related updates:
    • Ground clamping: We are already working on improving Entity API support in #3406 and adding optimizations in #3429.  We have a huge interest in ground clamping for KML, the Cesium API, and vector tiles for 3D Tiles, so expect to see a lot of work in this area.
    • 3D Tiles: The spec and implementation are progressing nicely, and the latest resources are always at the top of the spec.  Adoption of 3D Tiles is also pretty amazing, especially considering that it is still in progress.  As I've said in a few talks, I believe 3D Tiles has the potential to be bigger than Cesium itself.
    • Shadows: The recent VR work (#3330#3394) laid some internal foundations for shadows.  There's still a lot more work to be done and some unique problems to solve for massive geospatial datasets, but we are excited for it.
    • Subsurface terrain: We're super interested, but no firm plans yet.
    • WebGL 2: There is already some prototype WebGL 2 support in Cesium, but it needs to stabilize as the browser's implementations stabilize.  Given the potential performance improvements and that I believe part of Cesium's success is due to being an early and prominent adopter of WebGL 1, expect to see official WebGL 2 support as the spec and implementations stabilize.
    This year, also expect to see improvements to KML, CZML, performance (not drawing when stationary), label declutter, and perhaps the form factor (#2524) as we are using Cesium more and more in Node.js.

    Thanks again for the input.  This is going to be a big year for Cesium and geospatial 3D!

    Patrick

    Berwyn McKilligan

    unread,
    Jan 15, 2016, 7:06:33 PM1/15/16
    to cesium-dev
    @patrick

    could Kevin's ellipsoid code get merged into the cesium trunk? I'd find it useful 

    Yonatan Kra

    unread,
    Jan 16, 2016, 4:46:39 PM1/16/16
    to cesium-dev
    Sorry for the late response. Got several points we would like to raise here. We've been working with Cesium daily in the past 2 years and have our share of insights (it's going to be a long one... sorry in advance).
    I think one main issue is big data - Visualization of Big Data is one prominent use for Cesiumjs.  The issue with Big Data and Cesium is performance (memory, frame rate, load time etc.). This is the main theme of this post, but not entirely.
    Here are some points we struggle with that we would love to see addressed during 2016 (would be happy to be actively involved in the process as well):

    1) Memory optimization -  Loading cesium alone takes around 40MB, zooming in (hence, getting more imagery from the server) can get it to around 150-200MB of RAM.  Add some data inside (around 1000 entities) and you easily get to 400-500 RAM.
    In Cesium 1.16 and 1.17 big steps were made with the imagery/terrain compression. Haven't checked that yet, but hopefully this might take some of the load of RAM when loading imagery from the server.
    The dynamic data is the bigger issue here. When my apps reach 20,000 entities, the amount of RAM needed to hold the dataSources reaches to around 1.5 Gb.  And these are relatively simple entities that hold a point and a label. If anything can be done about this memory intake of Cesium, it would greatly improve the ability of Big Data visualization with Cesium.

    2) Usability and frame rate - Cesium's rendering cycle takes too long for the single thread JS world.  When testing with 20,000 entities, the "updatePrimitives" method was called over and over again, on every rendering cycle, for around 200-2500 ms each time.  This takes the FPS down to around 10 on average, and doesn't bode well for the rest of the app (not to mention trying to move/zoom on the map).  Web workers is one way to do it - move more logic to them and then update the canvas as a last step.  Throttle/denounce might be another way to do it.

    3) GC optimization - related to (2), GC with Cesium is HEAVY!  I see it a lot in big data dynamic apps.  GC can take a few seconds sometimes.  I believe that a lot of allocation is going on with all the "new" statements going around in the Cesium core code.  Haven't done as thorough research as I should have yet, but it's definitely on my list of TODO, and would be happy to cooperate with the Cesium team on this (goes for all bullets :)).

    4) Unrelated to big data, but I have to conform with the community here - Terrain on by default. Definitely a must this year.

    5) z-fighting - this is a really big one when it comes to user experience with big data.  When there are a lot of entities in an area, they create a flashing effect. The z-index feature could be a really nice enhancement.

    6) 2 dimensional representation - while Cesium does support the 2D and Columbus view, leaflet and other 2D maps do it much better.  Curenttly, solutions rely on switching between cesium for 3D view and other solutions (i.e. leaflet) for 2D view.  Improving the 2D view would allow developers to rely on Cesium alone and improve user experience as well as developer's experience.

    7) Clustering - it has been asked before, but not yet a part of Cesium. We've implemented our own client based clustering algorithm (http://webiks.com/ngcesium/clustering/), but this can be a real boost for big data visualization (here's a leaflet example - http://tnocs.github.io/csWeb/).

    8) Level of details - LOD as in a network-links for KML, would be great. Currently, we have to use some undocumented feature (which is also private and cannot be relied on for the long run, like the quad-tree portion of Cesium) in order to achieve this.  Either it exists and not documented well enough (a live example would be great) or it needs to be added as part of Cesium.

    9) Labels/billboards clutter - we cast our vote on this one as well.

    If you reached this part, you must be a very patient person :)
    Thanks!
    Yonatan Kra, CTO at Webiks.com

    RikM

    unread,
    Jan 18, 2016, 5:53:09 AM1/18/16
    to cesium-dev
    Interesting features for me could be...

    - a way to get the sun elevation/position in the sky for a given position / datetime.
    - changing color of sun glow to red when the sun is close to horizon.
    - a way to change the colour/texture of atmoshere.

    :)

    blake.s...@gmail.com

    unread,
    Jan 18, 2016, 9:21:07 AM1/18/16
    to cesium-dev
    On Tuesday, January 5, 2016 at 10:26:41 AM UTC-5, Patrick Cozzi wrote:
    > Hi all,
    >
    >
    > As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    > Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
    > Native VR - branchWebGL 2 - #797
    > Of these, what do you need most?  What else is important to you?
    >
    >
    >
    > Thanks,
    > Patrick
    >
    > --
    >
    >
    > twitter.com/pjcozzi

    For CZML, I would like to put a function in my CZML object, so that instead of doing the interpolation for me, CZML calls code that I define, allowing for more dynamic behaviors.

    Thus, if I had an ellipse that I wanted to dynamically color, I could do something like the following:

    ellipse: {
    semiMajorAxis: 40000.0,
    semiMinorAxis: 30000.0,
    rotation: 45,
    material: { solidColor: { color: colorFunction } },
    }

    Then, Cesium would call my color function with a few parameters, so that I can dynamically do whatever crazy logic I wanted, and return an RGBA color value.

    Patrick Cozzi

    unread,
    Jan 18, 2016, 12:52:15 PM1/18/16
    to cesiu...@googlegroups.com
    Thanks all for the additional feedback.

    @Berwyn - what pull request are you referring to?

    @Yonatan - for 2D (6), what exactly do you want to see?

    @RikM - to get the sun position use Simon1994PlanetaryPositions.computeSunPositionInEarthInertialFrame and Transforms.computeTemeToPseudoFixedMatrix.  Changing the atmosphere color has been asked for before and would be a good beginner issue, I submitted #3439.  Sounds like you are building something cool.  What kind of app is it?  Something for Mars?

    @Blake - interesting idea.  I'm not the security expert, but I don't think we want CZML to execute arbitrary JavaScript functions.  However, we could define new interpolation algorithms in Cesium or have a higher-level declarative way to define expressions (which may overlap nicely with styling 3D Tiles).  What type of interpolation algorithms did you have in mind?

    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/jGgNInY2Fqo/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.

    blake.s...@gmail.com

    unread,
    Jan 18, 2016, 7:22:42 PM1/18/16
    to cesium-dev
    JavaScript already has a significant culture around using callbacks, so I'm not sure this would be any worse than using jQuery or similar.

    For example: Say I have two moving points on a map, a defender and an aggressor. Instead of having the color of the aggressor be static, or interpolated, I could provide a callback function for the color attribute, allowing the color to dynamically change based on the proximity of the aggressor to the defender.

    With callbacks CZML could not only describe elements over time, but the behavior of elements in time.

    Scott Hunter

    unread,
    Jan 18, 2016, 7:43:13 PM1/18/16
    to cesiu...@googlegroups.com
    JSON (and therefore CZML) doesn't allow for functions to be defined, but you can do exactly what you're describing today in JavaScript.  After loading CZML, you can replace any property you want with a CallbackProperty, which lets you return any desired value.

    This example uses this technique to change the color of a material depending on whether the entity is currently picked or not:


     


    --

    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.

    RikM

    unread,
    Jan 20, 2016, 5:14:59 AM1/20/16
    to cesium-dev
    I am developing a paragliding flight simulator! :) And the atmosphere color/texture could help me to simulate the different weather conditions.






    Il giorno lunedì 18 gennaio 2016 18:52:15 UTC+1, Patrick Cozzi ha scritto:
    Thanks all for the additional feedback.


    Yonatan Kra

    unread,
    Jan 20, 2016, 6:57:09 AM1/20/16
    to cesiu...@googlegroups.com
    @Patrick - regarding 2D. We have customers who could use the 2D-3D transition.  Cesium's performance in 2D falls behind other "2D dedicated" geo libraries.  I haven't delved into the code (so far, I've used 3D only, but a request came from several sources for a 2D geo spatial based app).  The idea would be to have a view of 3D for 3D relevant data, while falling back to 2D when it's not relevant, hence earning a performance boost to the app.  Currently, falling back to 2D in cesium gives no significant benefit in that aspect, while falling back to leaflet for instance, does improve performance.  Thus, we fallback from Cesium in 3D, to leaflet in 2D instead of using Cesium in 2D.  Increasing Cesium's performance in 2D mode, would greatly improve the user experience in "hybrid" apps, as well as the developer's experience (not having to learn and switch between 2 API's).
    This comes in addition to various features that exist "built in" in libraries like leaflet (not to mention that huge amount of plugins that exist to leaflet). Not only usability features, but also UX oriented features.  Things like animations etc. are very easy to handle in leaflet, since it's mostly the good old CSS animation.  I do not mean animation in the context of "track an entity in flight"  What I mean is simple things like this: http://tnocs.github.io/csWeb/ - notice the animation on cluster/decluster. In Cesium, animation is HARD. Not only it is a resource comsuming event, it is also partly a Mathematical problem.
    So there are actually 2 points here: Performance - Cesium is great in 3D, but falls behind when it comes to 2D.  Cesium looks great up front, but is very hard to customize (and even harder to customize efficiently) - mainly for UX effects.

    Patrick Cozzi

    unread,
    Jan 20, 2016, 8:14:06 AM1/20/16
    to cesiu...@googlegroups.com
    @RikM cool simulator!  Connect with Sarah if you want to include it in your showcase on the Cesium website.


    @Yonatan thanks for the details.  Currently, Cesium treats 2D as a special case of 3D (top down orthographic) so there are 2D-specific optimizations that we just haven't added yet as we have been focused elsewhere.  As for animation, improvements to the core animation system will work in both 3D and 2D when we can get to them.

    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/jGgNInY2Fqo/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.

    yos...@gmail.com

    unread,
    Jan 26, 2016, 11:37:39 AM1/26/16
    to cesium-dev
    1. working with image coordinate system (pixls) with camera model projections.
    2. ability to transform from pixel in the image to geo and vice versa.
    3. project several images and tranforms between them
    4. scalbar widget
    Message has been deleted

    steven...@gmail.com

    unread,
    Jan 27, 2016, 10:16:13 AM1/27/16
    to cesium-dev
    My prioritized wishlist:

    1. Clamp to ground for entities.
    2. Support scaleByDistance for labels. I need this to replace a website that currently uses the Google Earth plugin.
    3. A default keyboard handler that uses the arrow keys. (I realize this is easy for us to implement, but it seems redundant for all of us to implement keyboard handlers.)

    Patrick Cozzi

    unread,
    Jan 28, 2016, 8:30:51 AM1/28/16
    to cesiu...@googlegroups.com
    Thanks for the input.  For (3), there is also a related Sandcastle example if you haven't already seen it.

    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/jGgNInY2Fqo/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.

    Mauricio Giraldo

    unread,
    Jan 28, 2016, 4:00:27 PM1/28/16
    to cesium-dev
    +1 on drawing/editing


    On Tuesday, January 5, 2016 at 10:26:41 AM UTC-5, Patrick Cozzi wrote:
    Hi all,

    As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    • Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.
    • Label declutter
    • Terrain on by default - including Entity API and polylines on terrain
    • Improved KML support - #873
    • Improved tutorials and code examples
    • Improved CZML documentation
    • Shadows
    • Native VR - branch

    Mauricio Giraldo

    unread,
    Jan 28, 2016, 5:32:36 PM1/28/16
    to cesium-dev
    also: including a TypeScript definition file in each release would be a huge time saver. right now i'm jumping through a bunch of hoops trying to generate one for the 1.17 release :\

    bobac...@gmail.com

    unread,
    Jan 29, 2016, 12:19:41 AM1/29/16
    to cesium-dev
    Le jeudi 28 janvier 2016 23:32:36 UTC+1, Mauricio Giraldo a écrit :
    > also: including a TypeScript definition file in each release would be a huge time saver. right now i'm jumping through a bunch of hoops trying to generate one for the 1.17 release :\
    >
    > On Thursday, January 28, 2016 at 4:00:27 PM UTC-5, Mauricio Giraldo wrote:
    > +1 on drawing/editing
    >
    > On Tuesday, January 5, 2016 at 10:26:41 AM UTC-5, Patrick Cozzi wrote:
    > Hi all,
    >
    >
    > As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    > Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
    > Native VR - branchWebGL 2 - #797
    > Of these, what do you need most?  What else is important to you?
    >
    >
    >
    > Thanks,
    > Patrick
    >
    > --
    >
    >
    > twitter.com/pjcozzi

    I follow Mauricio Giraldo for the need of a TypeScript definition file.

    steven...@gmail.com

    unread,
    Jan 29, 2016, 11:28:24 AM1/29/16
    to cesium-dev
    Thanks Patrick. Yes, I saw the keyboard example. It's strange (to me) that the example removes the default mouse handling and uses alpha keys to move the camera (rather than the arrow keys). I don't expect that it'll be difficult for me to implement a handler, but it seems odd (again, to me) that there isn't a default keyboard handler. I expect that everyone who ports from Google Earth ends up spending a day implementing a handler.

    Side note: I'd put "Add a navigation widget" high on my wish-list, too.

    Thanks!

    Matthew Amato

    unread,
    Jan 29, 2016, 11:43:03 AM1/29/16
    to cesiu...@googlegroups.com
    Steve, to be honest you're one of the first people who have brought this up; so I don't think the problem is as wide spread as you may think.  That being said, I agree that having default keyboard bindings available (even as an option) would be a good idea (especially since GE already has it).  We'll write up an issue for it, but no promises on a timeline.

    However, if you do plan on writing one yourself, we would love a pull request for it. (hence the beauty of open source)  It could start out as just a standalone class that gets instantiated, but eventually we could potentially fold it in as a default.  I have a feeling there are going to be some tricky edge cases that will have to be dealt with as well.



    --

    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.

    Sebastian Müller

    unread,
    Jan 30, 2016, 8:05:56 AM1/30/16
    to cesium-dev
    I'd love to see a Mapbox vector imagery provider. As especially Mapbox is now moving from pixel map tile data to vector map data, which is rendered on the device and many companies use the same format, I'd love to have an imagery provider for this as well. 


    Am Dienstag, 5. Januar 2016 16:26:41 UTC+1 schrieb Patrick Cozzi:
    Hi all,

    As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    • Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.
    • Label declutter
    • Terrain on by default - including Entity API and polylines on terrain
    • Improved KML support - #873
    • Improved tutorials and code examples
    • Improved CZML documentation
    • Shadows
    • Native VR - branch

    vl.vl...@gmail.com

    unread,
    Feb 9, 2016, 3:38:12 PM2/9/16
    to cesium-dev
    I think it would be useful to be able to bind or change model skins (textures) in real time. Or at least linked at a load time.
    Sample use case. Imagine a scene with many identical models, that you may differentiate with a different skin. It could be a car races or some other competition.
    As it is today, we have to create and load a separate model for every instance and experience at least two disadvantages
    - higher network traffic and load time for tens of models
    - lack of flexibility in application deployment. For any change in event participants or for a new event the models should be converted again. Some batch conversion process with a command line utility is still possible but makes things too complicated

    Vladimir

    Kevin DeVito

    unread,
    Feb 9, 2016, 5:10:32 PM2/9/16
    to cesiu...@googlegroups.com
    I think the 3D tiling addresses some of these features...

    --
    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/jGgNInY2Fqo/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.



    --
    Kevin DeVito
    CEO
    CyberCity 3D, Inc.
    300 Continental Blvd.  Suite 450
    El Segundo CA 90245
    310-760-2556

    Alberto Acevedo

    unread,
    Feb 9, 2016, 7:34:13 PM2/9/16
    to cesium-dev



    On Tuesday, January 5, 2016 at 10:26:41 AM UTC-5, Patrick Cozzi wrote:

    Laercio Barbosa

    unread,
    Feb 29, 2016, 8:19:06 AM2/29/16
    to cesium-dev
    I would like to see implemented the relative referenceFrame to an object in CZML as asked in CZML Relative Reference Frame.
    And improved CZML documentation as well.

    Thanks Patrick!

    Patrick Cozzi

    unread,
    Jun 1, 2016, 7:45:07 PM6/1/16
    to cesium-dev
    Hi all,

    Thanks again for the awesome feedback everyone provided in this thread at the beginning of the year!  It was deeply valuable in shaping the direction of Cesium.

    We are excited to have just released one of the most highly requested features; Cesium 1.22 includes shadows!

    Check it out, and feedback is always welcome.

    Patrick
    shadows.jpg

    vasc...@aol.com

    unread,
    Jun 2, 2016, 3:03:00 PM6/2/16
    to cesiu...@googlegroups.com
    HI,

    Something that would greatly improve  performance is to improve the management of the billboard texture atlas. In my project when doing billboard image updates I have to remove the billboard from the billboard collection  and then add it again to the collection to prevent the out of memory in the texture atlas. This process of removing and then adding a billboard is a considerable performance hit. Is there any progress about redesigning the texture atlas?  The texture atlas out of memory issue is mentioned here: https://groups.google.com/forum/#!topic/cesium-dev/cF9Vt28Wk-4


    Thanks,

    Alberto
    --
    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,
    Jun 2, 2016, 3:24:30 PM6/2/16
    to cesium-dev
    Hi Alberto,

    There's no update on texture atlas improvements, but I made a note on a related issue, #172.

    Contributions are, of course, very welcome here!

    Patrick
    To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+unsubscribe@googlegroups.com.

    vasant...@gmail.com

    unread,
    Jun 3, 2016, 3:37:51 AM6/3/16
    to cesium-dev
    Hi Patrick,
    Below implementations would be great.
    * Expecting options to visualize subsurface 3D Models (Underground utilities etc...)
    * Measurement Widget (To measure lengths and Areas)
    * Profiling Widget

    Ryousuke Wayama

    unread,
    Jun 5, 2016, 9:47:46 PM6/5/16
    to cesium-dev
    Hi Patrick,

    If there is a following features will be saved really.
    •  Visualize the underground space in the transparent ground.




    2016年1月6日水曜日 0時26分41秒 UTC+9 Patrick Cozzi:

    Reuben Reyes

    unread,
    Jul 20, 2016, 11:50:01 AM7/20/16
    to cesium-dev, Reuben Reyes

    Here is an example using underground space with transparent ground in Cesium and video and other examples.
    Hope this helps,
    Reuben

    Mobi-G

    unread,
    Nov 11, 2016, 12:18:04 AM11/11/16
    to cesium-dev
    Hello & thanks for ALL your awesome work so far!

    As a bit of a noob, I found deployment to a Google Compute-engin... somewhat challenging! I'm sure it's a simple feat for all of you development-gods, but adding a script to 'GULP deploy-to-GCP' would be the absolute cherry (for me)!

    (..might help the less exp. devs too, GCP must be as simple as it gets?!)

    :D

    Klaus Rheinwald

    unread,
    Nov 11, 2016, 6:32:24 PM11/11/16
    to cesium-dev
    Altitude above sea level

    stutit...@gmail.com

    unread,
    May 17, 2017, 11:24:33 AM5/17/17
    to cesium-dev
    I was wondering how I would go about coding so that I could access Cesium while offline - as well as make it have high resolution tiles so that there is no pixilation when zooming in.

    Reuben Reyes

    unread,
    May 17, 2017, 4:14:48 PM5/17/17
    to cesiu...@googlegroups.com
    Most of the work we did was to convert all our geometry to KML or KMZ and then have CesiumJS render it as a virtual globe. We also wanted to keep the path open to other virtual globes (ArcGIS Explorer, ArcGIS Earth, NASA WorldWind, and GoogleEarth) this is why we kept all dev on the KML/KMZ side then used CesiumJS wrappers for display. For what you want.. and to keep the compatibility path open and have high resolution tiles the only option is using GDAL to create a superoverlay with elevation, the resulting file will be a KML or KMZ. If you did not have a need to support other virtual globes then CesiumJS has 3D tiles. With 3D tiles you would make 3D faceted globe at what ever resolution needed (and elevation) and include a super high resolution texture map as part of the model reducing the pixilation. CesiumJS 3D tiles uses Hierarchical Level of Detail HLOD so this should be fast and smooth rendering. For running offline we use Node.js that starts a webservice on your local machine that runs all the CesiumJS configuration, sets CesumJS file paths, and can also auto launch a web browser of choice (Chrome in our case) all from a script or batch file with one click. Hope this helps. Reuben

    On Wed, May 17, 2017 at 10:24 AM, <stutit...@gmail.com> wrote:
    I was wondering how I would go about coding so that I could access Cesium while offline - as well as make it have high resolution tiles so that there is no pixilation when zooming in.

    --
    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/jGgNInY2Fqo/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.



    --
    Reuben Reyes

    Patrick Cozzi

    unread,
    May 20, 2017, 4:31:18 PM5/20/17
    to cesiu...@googlegroups.com
    @Reuben - great insights, thanks for sharing!

    @stutitandon20 - also check out this brief offline guide: https://github.com/AnalyticalGraphicsInc/cesium/wiki/Offline-Guide

    Patrick

    stutit...@gmail.com

    unread,
    May 22, 2017, 10:20:12 AM5/22/17
    to cesium-dev
    I was wondering if you guys can show me a working code that could actually run it offline while increasing the resolution with 3D tiles. I have been trying on my own but am running into multiple issues. Any help is wildly appreciated!

    Reuben Reyes

    unread,
    May 23, 2017, 3:45:58 PM5/23/17
    to cesiu...@googlegroups.com
    @stutitandon20
    Your best option for running offline is to use github link from Patrick Cozzi. If you like I will look up and document what i put on our systems to run offline and will send it to you directly. As for the 3D tiles i have never done this so i would not be a good source. Perhaps someone else on this tread can point you in the right direction for the 3D tiles.

    On Mon, May 22, 2017 at 9:20 AM, <stutit...@gmail.com> wrote:
    I was wondering if you guys can show me a working code that could actually run it offline while increasing the resolution with 3D tiles. I have been trying on my own but am running into multiple issues. Any help is wildly appreciated!
    --
    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/jGgNInY2Fqo/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.



    --
    Reuben Reyes

    stutit...@gmail.com

    unread,
    May 24, 2017, 9:38:54 AM5/24/17
    to cesium-dev
    @ReubenReyes, If you could look up the document you put in your systems to run offline and send it to my email that would be very appreciated: stutit...@gmail.com

    Thank you once again for all your help!

    hassanit...@gmail.com

    unread,
    Jul 28, 2017, 2:39:05 AM7/28/17
    to cesium-dev
    در سه‌شنبه 5 ژانویهٔ 2016، ساعت 19:26:41 (UTC+4)، Patrick Cozzi نوشته:
    > Hi all,
    >
    >
    > As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    > Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
    > Native VR - branchWebGL 2 - #797
    > Of these, what do you need most?  What else is important to you?
    >
    >
    >
    > Thanks,
    > Patrick
    >
    > --
    >
    >

    [url=http://kafsabizarin.com/%da%a9%d9%81%d8%b3%d8%a7%d8%a8%db%8c-%d9%88-%d8%b3%d9%86%da%af%d8%b3%d8%a7%d8%a8%db%8c/]کفسابی سنگ[/url]
    [url=http://kafsabizarin.com/%da%a9%d9%81%d8%b3%d8%a7%d8%a8%db%8c-%da%86%db%8c%d8%b3%d8%aa-%da%a9%d9%81%d8%b3%d8%a7%d8%a8-%da%a9%db%8c%d8%b3%d8%aa/]کفساب[/url]
    [url=http://kafsabizarin.com/%d8%b3%d8%a7%d8%a8-%d8%b2%d9%86%db%8c-%d8%b3%d9%86%da%af-%da%a9%d9%81/]ساب زنی[/url]
    [url=http://kafsabizarin.com/%d9%86%d9%85%d8%a7%d8%b4%d9%88%db%8c%db%8c/]نماشویی ساختمان[/url]
    [url=http://kafsabizarin.com/%d9%be%db%8c%da%86-%d8%b1%d9%88%d9%84%d9%be%d9%84%d8%a7%da%a9-%d9%86%d9%85%d8%a7/]پیچ رولپلاک نما[/url]
    > twitter.com/pjcozzi

    hassanit...@gmail.com

    unread,
    Jul 28, 2017, 2:39:52 AM7/28/17
    to cesium-dev, jsto...@gmail.com
    در جمعه 8 ژانویهٔ 2016، ساعت 22:34:03 (UTC+4)، jsto...@gmail.com نوشته:
    > On Tuesday, January 5, 2016 at 8:26:41 AM UTC-7, Patrick Cozzi wrote:
    > > Hi all,
    > >
    > >
    > > As we do every year, we'd like to kick off 2016 by asking for your input on what you want to see in Cesium this year.  Here's a few ideas to get started:
    > > Finish 3D Tiles - massive 3D buildings, point clouds, vectors, etc.Label declutterTerrain on by default - including Entity API and polylines on terrainImproved KML support - #873Improved tutorials and code examplesImproved CZML documentationShadows
    > > Native VR - branchWebGL 2 - #797
    > > Of these, what do you need most?  What else is important to you?
    > >
    > >
    > >
    > > Thanks,
    > > Patrick
    > >
    > > --
    > >
    > >
    > > twitter.com/pjcozzi
    >
    > Patrick,
    >
    > Improved KML support would be a nice addition. Another thing which be nice to have would be a terrain Exaggeration improvement, if the value of terrain exaggeration icfefs changed primitives/entities would be adjusted accordingly.
    >
    > Thanks
    >
    > Jerryvery god

    Brian Savage

    unread,
    Sep 6, 2017, 5:34:37 AM9/6/17
    to cesium-dev, Susan....@tamucc.edu
    Hi Susan,

    Did you manage to solve this? That is, have the glider move realistically based on the trace position. I need to do exactly the same thing. I can only find examples where the model just tracks the trace without changing orientation as the trace changes.

    Cheers

    Brian

    On Saturday, 9 January 2016 04:26:53 UTC+13, Rogers, Susan wrote:

    Thanks Patrick, 

     

    Yes, I’m sorry that I was vague.  It seemed there was some talk of making czml model orientation easier than figuring out quaternions.  I’d be very interested in that.  I am unable to orient a model on a given lon, lat, height path in czml with “orientation : unitQuaternions”.  My model stays in a fixed orientation.  The only way I am able to get my glider to follow a path is to hardwire it into the html, eeks!  -- just so that I may use the easy way to orient the model with “orientation : new Cesium.VelocityOrientationProperty(position)”. 

     

    I don’t know how to put Cesium functions into a czml and it seems that the milktruck czml is able to do this with something in the html header.  I am a little lost as to piecing together the parts I need out of the many provided examples in sandcastle or in calculating quaternions.

    Thank you for your attention.  I would really be excited to get the model into my Cesium App!

     

    Susan

     

    Hardcoded into my html:

    //Generate a pattern  with varying heights.

    function computeFlight(lon, lat, height) {

        var concavex = [-89.0000,-88.5833,-88.0500,-87.5667,-87.1667,-86.8000,-86.4167,-86.1500,-85.8333,-85.6333,-85.3833,-85.2667,-85.1833,-85.2333,-85.2500,-85.2167,-85.2167,-85.3000,-85.3000,-85.4333,-85.7333,-86.2833,-86.8667,-87.2500,-87.5833,-87.8000,-87.9833,-88.2500,-88.4833,-88.6167,-88.9000,-89.1333,-89.3167,-89.6500,-90.0667,-90.5333,-91.0000,-91.4167,-92.0000,-92.4667,-92.8500,-93.1333,-93.4333,-93.4500,-93.3833,-93.1167,-92.9667,-92.7000,-92.3500,-92.2000,-91.9000,-91.5500,-91.1000,-90.7167,-90.3167,-89.9667,-89.6833,-89.5333,-89.2167,-88.4667,-87.6833,-87.6000,-87.6500,-87.9500,-89.0833,-89.9333,-90.8000,-91.7333,-92.8500,-92.9833,-93.3500,-93.8500,-94.3833,-94.8167,-95.4167,-95.8500,-96.1500,-96.1833,-96.1667,-96.1500,-96.0667,-96.0667,-96.2000,-96.3000,-96.2667,-96.1000,-95.8333,-95.5667,-95.3000,-94.7333,-94.1500,-93.7667,-93.4333,-93.1000,-92.9167,-92.9333,-93.0167,-93.0333,-93.0833,-93.1500,-93.1667,-93.1667,-93.1167,-92.9667,-92.6667,-92.3833,-92.1167,-91.4833,-90.8167,-89.4333,-88.8667,-88.6500,-88.0167,-87.7500,-87.7167,-87.9167,-88.4833,-89.2167,-90.1000,-90.8000,-91.2000,-91.5833,-91.9500,-92.0833,-92.0500,-91.4000,-90.5667,-90.0167,-89.5167,-88.9167,-88.4000,-88.0500,-87.7333,-87.5667,-87.4667,-87.4500,-87.4500,-87.5333,-87.7500,-88.0333,-88.5667,-89.5667,-90.0833,-90.6333,-90.6333,-90.7667,-90.4667,-89.8500,-89.4500,-89.1167,-88.7833];

                    var concavey = [28.2000,28.1667,28.1500,28.0500,27.9500,27.8833,27.7667,27.5833,27.4167,27.2500,27.0667,26.9000,26.6500,26.5000,

    26.2667,25.8667,25.4833,25.1333,24.8833,24.7000,24.4333,24.2333,24.1667,24.1500,24.2000,24.3333,24.4167,24.6167,

    24.8167,24.9333,25.1667,25.4167,25.6000,25.7667,25.8333,25.8500,25.8500,25.8333,25.8000,25.8000,25.8000,25.8667,

    26.0167,26.2333,26.4333,26.7333,26.8333,26.9667,27.0833,27.1167,27.1833,27.2500,27.2833,27.3833,27.3667,27.4500,

    27.5333,27.6667,27.8333,27.8000,27.3667,27.0167,26.5500,26.2667,26.1500,26.0667,26.0000,25.9500,25.8333,25.8000,

    25.8833,25.8333,25.8000,25.8000,25.7333,25.6667,25.4000,25.0000,24.6333,24.1500,23.7167,23.4167,23.0500,22.6167,

    22.2167,21.9167,21.7667,21.5833,21.5167,21.5167,21.5167,21.5167,21.5667,21.6333,22.0333,22.5167,22.7167,22.9667,

    23.1833,23.4000,23.7167,24.2167,24.5333,24.7500,25.1000,25.2167,25.3667,25.8500,26.0833,26.4500,26.4833,26.4833,

    26.2500,25.8500,25.2667,24.8667,24.5167,24.3667,24.3000,24.2667,24.0833,23.8333,23.4167,22.8000,22.6167,22.3500,

    22.4000,22.5167,22.6000,22.8333,23.2000,23.4667,23.7500,23.9667,24.2500,24.5500,24.9667,25.2833,25.5167,25.7833,

    26.0667,26.5500,26.7000,26.7667,26.7667,27.0667,27.3833,27.8333,28.0500,28.2333,28.3833];

                    var concaveh = [326172.4138,298396.5517,272482.7586,254068.9655,245689.6552,242482.7586,234775.8621,229913.7931,226810.3448,

    226189.6552,224844.8276,224896.5517,224068.9655,223758.6207,223137.931,224275.8621,223344.8276,222465.5172,

    222568.9655,220137.931,218896.5517,247137.931,322086.2069,352034.4828,367965.5172,366000,350120.6897,

    313913.7931,214241.3793,214500,216155.1724,218586.2069,223137.931,226396.5517,226034.4828,219568.9655,

    217758.6207,222310.3448,243827.5862,233482.7586,229034.4828,225258.6207,232913.7931,292293.1034,306051.7241,

    322655.1724,322913.7931,318103.4483,316137.931,318206.8966,328241.3793,320793.1034,306051.7241,329637.931,

    327724.1379,329896.5517,325396.5517,326120.6897,321051.7241,278224.1379,249931.0345,246931.0345,248482.7586,

    246000,239017.2414,230068.9655,219775.8621,274137.931,229551.7241,224741.3793,227275.8621,225879.3103,

    226655.1724,232758.6207,300931.0345,344431.0345,346189.6552,332275.8621,305793.1034,277862.069,260586.2069,

    270206.8966,271189.6552,268862.069,265189.6552,258465.5172,260741.3793,251120.6897,239172.4138,218120.6897,

    231051.7241,231982.7586,230120.6897,233844.8276,226293.1034,210827.5862,204724.1379,200689.6552,200844.8276,

    200586.2069,199913.7931,201000,200741.3793,201775.8621,210724.1379,216103.4483,224431.0345,250086.2069,

    223344.8276,242327.5862,256241.3793,261465.5172,245689.6552,231568.9655,218896.5517,266689.6552,306568.9655,

    210672.4138,200637.931,202603.4483,202034.4828,200586.2069,200637.931,199448.2759,207672.4138,388706.8966,

    390827.5862,390827.5862,391396.5517,391810.3448,390413.7931,390465.5172,384620.6897,380172.4138,354775.8621,

    310603.4483,218741.3793,219258.6207,223500,232137.931,241086.2069,244706.8966,253706.8966,301603.4483,

    301603.4483,308896.5517,325034.4828,344431.0345,333465.5172,335379.3103,322241.3793];

        var property = new Cesium.SampledPositionProperty();

        for (var i = 0; i<150; i +=1) {

                    //var radians = Cesium.Math.toRadians(i);

                    var time = Cesium.JulianDate.addSeconds(start, i, new Cesium.JulianDate());

                    var position = Cesium.Cartesian3.fromDegrees(concavex[i],concavey[i],concaveh[i]);

                    property.addSample(time, position);

                    }//for var i loop

                    return property;

    }//function computeCircularFlight

     

    //Compute the entity position property.

    var position = computeFlight(-92.248, 24.0793, 483065);

     

    //Actually create the entity

    var entity = viewer.entities.add({

        //Set the entity availability to the same interval as the simulation time.

        availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({

            start : start,

            stop : stop

        })]),

                    "name":"Glider",

                                    "description" : "<!--HTML-->\r\n<p><img src='glider.jpg' height='80' width='150' scrolling='no' style='float:left; margin: 0 1em 1em 0;'</img><a href = https://gliderpage target=_blank > Glider</a><br></br>\r\n</p>",

        //Use our computed positions

        position : position,

        //Automatically compute orientation based on position movement.

        orientation : new Cesium.VelocityOrientationProperty(position),

        //Load the Cesium plane model to represent the entity

        model : {

            uri : 'SampleData/models/glider/model.glb',

            minimumPixelSize : 45

        }//,

    });//var entity

    [two drop-down lists to select two czml’s at a time …I have a whole bunch of czml’s and I would like one of the selectable czmls to be the glider with its path and orientation]

    Sandcastle.reset = function() {

    Viewer.dataSources.removeAll(false);

     

    From: cesiu...@googlegroups.com [mailto:cesiu...@googlegroups.com] On Behalf Of Patrick Cozzi
    Sent: Friday, January 08, 2016 6:26 AM
    To: cesiu...@googlegroups.com
    Subject: Re: [cesium-dev] Re: Cesium in 2016 - what do you want to see?

     

    Susan - what exactly do you mean by model orientation?

     

    Thanks,

    Patrick

     

    On Thu, Jan 7, 2016 at 9:34 PM, <vk3...@gmail.com> wrote:

    Option to install only the files needed to run.

    No doc's, No samples, etc.


    --
    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/jGgNInY2Fqo/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 a topic in the Google Groups "cesium-dev" group.
    To unsubscribe from this topic, visit https://groups.google.com/d/topic/cesium-dev/jGgNInY2Fqo/unsubscribe.

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

    Reply all
    Reply to author
    Forward
    0 new messages