-
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
Entities on terrain #3903
Entities on terrain #3903
Conversation
…entity-clamp-to-ground
…entity-clamp-to-ground
…nd primitives if we know for sure an app won't use it.
…but we just want to let the users know once.
…they end up on terrain when we think they should.
@mramato Forgot this one. Here is a starting list. Don't think I missed anything but update this if you think of anything else.
|
Merge in master, please. |
For the default KML example, performance is still over 100% slower than master and it also very hitchy (I'm talking the default view with stats turned on). Also, after playing with the default KML example for a while, then switching to the GDP one, Chrome just starting griding CPU for a full 30-45 seconds before the app became responsive and switched. (Seems reproducible on my machine). |
isColorMaterial && GroundPrimitive.isSupported(this._scene); | ||
|
||
if (outlineEnabled && onTerrain) { | ||
oneTimeWarning('Entities with an outline are unsupported on terrain. Outline will be disabled.'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this message is copied in 4 places, I would add a simple property to oneTimeWarning
like oneTimeWarning.geometryOutlines
with this string and use that instead.
Also, we should replace this message with Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.
so that users actually know what they need to do to get the outline back if they want it.
I think those are my last comments. I realize this is probably going to be a disruptive change no matter what we do, but the performance issue does concern me. |
For the performance concerns, this is on by default, right? Instead, could we have users opt into it even if it is at the |
…ow-unload Sped up deleting of custom data from a QuadtreeTile.
GeoJSON is already opt-in and they can easily go back to the old behavior by setting an explicit height of 0 on any geometry, so I'm not sure adding another layer of checks is worth it. If we ever want to get to terrain on by default, we'll have the bite the bullet and start clamping by default, so I think now would be a good time for that. If we get negative feedback on the release, then we can put in an explicit flag for people that need it. Unless anyone has any objections, or @pjcozzi feels strong about making the exclusively opt-in all around, I think this is ready. The travis deploy is occasionally failing, but this looks like a problem with deploys in general and not this branch. |
If I get some free time, I can run this through it's paces and see how it affects my use case. I'm primarily worried about perf, and may have to very carefully tailor things to make it usable, or opt out completely. What's the reasoning behind making geojson linestrings turn into corridors, and not KML linestrings? I use a fair amount of both, and having KML lines as an outlier is going to be a pain point. I understand that corridor conversion is a workaround at the moment, but it seems strange that it isn't consistent. |
The reason it was done this way is because it is completely opt-in for Geojson. For Kml, whether to clamp to terrain is part of the file itself. Therefore, it would break apps that load a kml document and then try to use @pjcozzi Any opinion here? |
Do we have a table of before/after performance numbers? Given that we expect to make terrain clamping 10x faster with 3D Tiles and that the current |
@mramato @denverpierce I updated |
@tfili can you please post a few choice screenshots of KML/GeoJSON on terrain here so we can use them in the 1.23 blog post, twitter, etc.? |
As mentioned offline, update changes again and this is good to go. |
@mramato CHANGES has been updated. |
@tfili we're looking for choice screenshots of KML/GeoJSON on terrain, not just of entities. Can you please create some? |
Moved to cesium branch from fork PR #3406.
Bounding boxes seem correct but we are still seeing performance issues.