Path visualization...

352 views
Skip to first unread message

Matthew Amato

unread,
Aug 9, 2012, 2:10:40 PM8/9/12
to cesiu...@googlegroups.com
Since it's been a hot topic lately, I decided to start working on path/route/orbit visualization as the next major feature for Cesium and CZML.  Jonah's initial prototype for visualizing tracks and waypoints in a specified time range has some great ideas, but for my initial work, I'll only be touching on the path visualization aspect.  In order to help flesh out my thoughts and get feedback I've done a write-up on our week here: CZML History Visualization. Please let me know what you think, particularly if you have any additional ideas on sampling strategies or perhaps technical papers than have been written on the subject.  This effort will include both adding support to czml-writer to add path graphics schema and adding new visualizers to Cesium itself.

Thanks,

Matt

Patrick Cozzi

unread,
Aug 9, 2012, 7:00:00 PM8/9/12
to cesiu...@googlegroups.com
Matt,

Thanks for writing this up.  It looks good.  Here are a few comments from the rendering perspective.
  • As you suggest, initially we can just build on PolylineCollection and Polyline.  If/when we need more performance we can write custom vertex buffer management - like a batch version of the Path primitive in Insight3D - but I wouldn't waste our time in the initial pull request.  This would also help us efficiently keep a moving point on the path so it exactly matches a billboard, label, etc. moving along the path as you mention in (3).
  • The JSON schema for polylines and paths include color, outlineColor, and outlineWidth.  We plan to replace these with a Polyline material, which could be a Color material (no outline), an OutlineColor material, etc.  We need to balance this work with the data-driven renderer, but I expect we'll do it in September.  It's OK to keep the schema as-is for now; this is just a heads up in case we want to change it later.
  • Beyond per-point color - as you mention - and standard materials, we should compile a list of worthwhile visual effects to consider past the initial pull request.  For example, we can fade lots of properties based on it's lead/trail time: alpha, glow, width, etc. 
  • "View based bisection" is called tessellation in graphics.  In OpenGL 4, there is a tessellation shader that would allow us to do this on the GPU.  In OpenGL ES 3.0 - which will influence WebGL 2.0 - we could probably also do it on the GPU with multiple passes and transform feedback.  Currently, we would have to do this on the CPU and update the vertex buffer.  We can probably do this with a tree and incremental buffer updates, but it is going to be some work to make it fast in the general case (in particular - removing detail, not adding it).  Another way to look at this, is it is the opposite of level-of-detail.  We are interested - but in no rush - to implement LOD for polylines using Douglas-Peucker reduction.  Perhaps some of these ideas can be applied.  Anyway, I agree that this can be a separate pull request, maybe even down the road.
Feel free to update the wiki with these notes as you see fit.

Regards,
Patrick


--
You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/cesium-dev/-/H54rXWukS88J.
To post to this group, send email to cesiu...@googlegroups.com.
To unsubscribe from this group, send email to cesium-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cesium-dev?hl=en.



--
www.seas.upenn.edu/~pcozzi/

Matthew Amato

unread,
Aug 10, 2012, 12:19:55 PM8/10/12
to cesiu...@googlegroups.com
Thanks Patrick; I'll definitely update the wiki with the extra
information. I also had an offline conversation with Kevin Ring that
will probably result in some edits on the schema side as well.

Jonah Taylor

unread,
Aug 13, 2012, 2:37:59 PM8/13/12
to cesiu...@googlegroups.com

Jonah Taylor

unread,
Aug 13, 2012, 2:43:37 PM8/13/12
to cesiu...@googlegroups.com
Looks good Matt.  Hopefully the work I did sparked some ideas at least.

Patrick Cozzi

unread,
Aug 13, 2012, 4:41:51 PM8/13/12
to cesiu...@googlegroups.com
I forgot to mention that it is going to be awesome to have orbits for 3D, Columbus view, and 2D transitions.

Patrick


To view this discussion on the web visit https://groups.google.com/d/msg/cesium-dev/-/rd1xPkZI_6oJ.

To post to this group, send email to cesiu...@googlegroups.com.
To unsubscribe from this group, send email to cesium-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cesium-dev?hl=en.
Reply all
Reply to author
Forward
0 new messages