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.
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
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
–
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/
–
You received this message because you are subscribed to the Google Groups
“cesium-dev” group.
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.