-
Notifications
You must be signed in to change notification settings - Fork 473
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
Per feature bounding volume information #127
Comments
Could be reasonable to make this a well-known semantic in the feature table. Would probably want to support the same BVs that each tile supports. Would also need an explicit feature table in Will be a bit before we can get to this, but labeled |
Pushing post 1.0. This can go in after without breaking backwards compatibility. |
@rahwang you can start experimenting with this for physics volumes before this becomes final. You'll need to pre-process any tilesets and then in the Cesium implementation read the bounding volumes and add to Some ideas from the spec side - Option 1 - separate
Where:
The feature table can include any or none of these. Option 2 - mix and match
This relies on identifying the bounding volume type by its array length and does not make it easy to store in the binary section. Option 3 - mix and match packed
Where
|
Awesome! I'll start experimenting with this as soon as I finish my current issue. |
@pjcozzi yes, that's the intended approach. |
Per-feature bounding volumes could be stored in feature metadata in EXT_mesh_features with new semantics |
Does the addition of a new semantic, e.g. |
@lilleyse if I'm understanding this correctly while the low-level capability is now there, there is not a standard way for using it? For example, if someone hands me a 3D Tiles tileset that I know nothing about, is it possible for me to zoom to a specific feature on click and/or know that the tileset has the necessary information for doing it? If there is not some standard schema then that sounds like this has the same problems that using the original batch table had. Or am I misunderstanding the solution and this is in fact, now turnkey? |
Closed this a bit hastily. The low-level capability is there, but a new feature semantic would need to be defined in the 3D Metadata Semantics Reference or some other semantic dictionary, and this issue can stay open until that happens. The exact details of this need to be refined further. @donmccurdy I included your question in #574. tileset.json would declare the feature's class There are still other details to work out, like how does tileset JSON mandate that all features conform to this class, or at least have a property with this semantic.
|
The other issue here might be, once I know that I want to find a feature with ID
|
I've been thinking about this is well for global feature ids #265. Ideally we'd want to have spatial locality of metadata so that each content can point to a contiguous subset of the global property table, but I don't think it will be this clean in practice. I wonder if a database is a better form factor for global metadata. |
TileDB Reading docs get into multi-range queries a bit, and it's an interesting read. But yeah, this feels like a complicated thing to standardize where perfectly good solutions like databases work well. |
Feel free to close this if it is already an issue being discussed elsewhere, but I spoke with @lilleyse offline and he felt it was needed as well.
Currently, unless a tileset explicitly adds custom batch table entries with extra information, it's impossible to get any sort of bounding volume information on a given feature. For my use case, I want to be able to easily zoom to any arbitrary feature in Cesium. @lilleyse says that he could use such information to greatly improve shadows for Cesium's 3D Tiles implementation.
While this can be solved with custom batch table entries, that is an implementation specific detail and will not always be portable to different 3D Tiles implementations. Ultimately, I just want to be able to take any valid 3D Tiles tileset and be able to get bounding information per-feature, without having to know any special sauce specific to that tileset. I suspect others will as well.
The text was updated successfully, but these errors were encountered: