Z-ordering #20

mramato opened this Issue Aug 9, 2012 · 2 comments


None yet
3 participants

mramato commented Aug 9, 2012

In order to properly render CZML on the client, we need some form of Z-ordering in the specification itself. I believe this can easily be accomplished by giving each graphical type (Billboard/Point/Polyline/etc..) a constant value zOrder property. zOrder would start at 0 (bottom of the stack) and go up from there. Higher numbers are drawn on top of lower numbers. If no zOrder property is specified, it is assumed to be 0.

Cesium doesn't actually have support for z-ordering yet, but adding it to the spec now is easy enough and will help other clients who wish to use CZML.


pjcozzi commented Aug 11, 2012

@bagnell and I will look at better z-order support in Cesium as part of the DDR. Right now, it is sort of implicit within a CompositePrimitive.

I am on board with adding it to CZML regardless of if it is ready in Cesium. A few comments:

  • If several objects have the same zOrder - what is their draw order? Undefined is OK with me.
  • We are unlikely to support z-ordering streaming imagery on top of vector data to start. However, if we get the DDR right, we might get this for free, but no promises in the short term.
  • z-ordering individual polylines, for example, will be require some work, but z-ordering entire collections is much easier.
  • z-ordering is great for objects on the ground, but it breaks down for things at altitude: z-order and altitude can be at odds with each other.

I'll put some of these notes on the DDR page when I get that up next week.

I need to tackle z-ordering with billboards and polygon. Has any progress been made? If not then I would like to tackle it. Any leads would be greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment