-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Z-Ordering of entity collection #4108
Comments
This is probably one of the most frequently requested things on the forum. |
CC #3647 |
Also reported here: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/iyNHsibp2eI |
+1. I'd love to see this! |
Also requested here: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/p_TufXEFwTA |
Thinking about a possible implementation for billboards: https://groups.google.com/d/msg/cesium-dev/7CHDGRyJvwc/S55fUJ8XCAAJ |
push Seems like this is still an issue. We have the same problem with labels drawn underneath polylines. |
Hi @schitzN, this hasn't been addressed yet. But stay tuned! We're starting work on this in the next month |
@hpinkos Will these changes also apply to billboard/lablel/polyline collections? See on the forum: https://groups.google.com/forum/#!topic/cesium-dev/ywyFR5GSi_c |
@ggetz the changes I'm working on this round are specifically to address z-ordering in 3D, so I won't be making changes to billboards/labels because they are ordered spatially by their 3D position. We will have support for ordering polylines on the earth surface. |
Will these changes also apply to rendering GeoJsonDataSource ? |
@eatapl we haven't hooked this up to GeoJson because I couldn't find anything in the GeoJSON spec that can be used to specify polygon ordering. Does GeoJSON have a property used for ordering that I missed? Thanks! |
Is there a workaround currently for at least drawing polylines below billboards? I'm implementing my own z-ordering where I can, but I don't know how to interact with the render pipeline for the parts of a single entity. |
@ladislavhorky Could you put together a Sandcastle example to reproduce that? |
@ladislavhorky The lines are drawing on top of the labels because you set a |
@hpinkos I see, that makes sense. But then, is there some way to make the polylines visible through the terrain/3D tiles without setting My best workaround so far is to use |
I'm sorry @ladislavhorky, I don't have any workaround at this time |
@hpinkos Thanks for your time anyway. I'll do with the transparency for now. |
Was there ever a resolution found for this issue? I am getting different behavior depending on the alpha channel of polygon material as well. If the material has any transparency, the labels appear behind. If alpha is 1.0, label appears in front, but always behind polylines (GeoJsonDataSource stroke). See image on the left, green color has 1.0 alpha while other colors have less. Also, in an unrelated issue, the individual letters of label text appear wonky/not-aligned if the text is smaller than about 17px (right image) |
@hpinkos , what is the roadmap regard this feature? it is extremely needed, and it seems there is no workaround at the moment? |
@Maarondesigns thanks for pointing these out. These are potentially separate issues. The small font issue seems to have been working as of CesiumJS 1.62. I opened an issue for this here: #8474 For the outline ordering issue, I'm unable to reproduce this. Here's the Sandcastle I tried. You can toggle the material alpha = 1 vs alpha = 0.8 with the buttons. It seems that the stroke is always on top regardless. Are you able to share a Sandcastle example that reproduces it? @jony89 there may be a workaround depending on what exactly you're trying to achieve. Feel free to open a Cesium forum discussion thread describing your use case. |
I've circled back to this issue on a separate project. It seems like polylines render randomly above or below polygons and corridors with alpha less than 1.0. I am creating everything using the Primitive API. The project is my own version of the game RISK if you're interested: github
Changing the camera angle makes the dashed polyline pop in front of or behind the countries. Same behavior when corridor alpha<1.0. In image below corridor alpha is 1.0. |
I was able to reproduce in your sandcastle...This issue occurs when the polygon has extrudedHeight and then eyeOffset is used on the label to appear in front of it. SandCastle It also occurs when you use a billboard with image: [ html canvas ], which I started doing to fix the alignment issue of the letters. |
Another mention of this: https://community.cesium.com/t/on-2d-mode-polylines-are-always-on-top-of-labels/11451 |
Is there still no good fix for this? Even setting an eyeOffset z value is a subpar solution. I am having such trouble getting my label entities to appear over my arcs. The arcs vary in height, and some of them get very high. I should say - the labels are for other entities on the map and not related to the arcs at all. Can there not be a flag to treat these label entities as such so that they are just rendered above everything else, regardless of height? |
Requested in #10861 |
Hello , I found an issue where I cant use polyline collection cause its overlaps billboard and there is no way to control the heights . is there any way to solve it by code or its a bug? |
Also reported in #11925. |
It would be nice to be able to change the render order of entities. Right now we have to tweak the
eyeOffset
which needs to change based on camera distance.The text was updated successfully, but these errors were encountered: