-
Notifications
You must be signed in to change notification settings - Fork 7
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
Restricting EXT_mesh_features
to the definition of feature IDs
#51
Restricting EXT_mesh_features
to the definition of feature IDs
#51
Conversation
Looks great. Do you plan on addressing these two points before the PR is merged?
To go along with the second bullet, there could be a deeper explanation about set IDs and how they can be used to identify the same set of feature IDs across primitives. The revision history is now included in https://github.com/CesiumGS/3d-tiles/blob/extension-revisions/next/REVISION_HISTORY.md (with some light restructuring) so that section can be removed. |
Nitpick - the "feature ID by vertex example" is great but I wish it stood out better and wasn't preceded by two |
I did a slight refactoring, and separated the part about "Features" and "Feature IDs". The latter explains feature IDs in general, on the level of what their role is in mesh primitives, and also mentions This refactoring also avoids some overlap with the "Specifying Feature IDs" section: Part of this section has been moved in the the "Feature IDs" section now. The original "Specifying Feature IDs" is now called "Using Feature IDs", and can focus on how the IDs can be used. (I think that usually the "WHY?" is supposed to be explained before the "HOW?", but I think that the "WHY?" is sufficiently explained in the introduction, and the "Using Feature IDs" is rather on the level of "Examples/Use-Cases", and thus, better fits there). Overall, I think that this structure is now "nicer" in terms of "reading-flow", and for building an understanding, but am open to suggestions for alternatives (including "Undo that commit!" ;-) ). |
The The inlined examples have been changed to dictionaries (sorry, I had missed that). The change log has been replaced by a link to the "common" change log. |
The latest version looks really solid. I have some minor copy-edit type suggestions but I'll just apply those in a separate commit after this is merged. |
Main change to note there is the removal of the table of contents, which I don't think is needed anymore now that spec is a reasonable length. |
The extension is closely associated with the mesh primitives. Each mesh primitive may nor may not have the feature ID attribute, and there may be multiple ones, and they may have different names... In theory, one could add some extension object at the top-level of the glTF, saying "All primitives in this glTF will have the (Even deeper in theory, clients could just assume that an attribute that has this name is a feature ID attribute of But I think that there would have to be a strong(er) reasoning for trying to do this.
(Maybe lilleyse also has some thoughts here) |
The
EXT_mesh_features
extension is revised, and split into aEXT_mesh_features
extension that only defines the concept of feature IDs, and a dedicatedEXT_structured_metadata
extension that defines how to associate features with property tables.This PR adds parts of the original
EXT_mesh_features
README (as of https://github.com/CesiumGS/glTF/tree/e8b8a1065ac9e3db571fa8af836fac5480020228/extensions/2.0/Vendor/EXT_mesh_features ) back into the revised state. This is the part of the README that refers to feature IDs only.The adjustments until now:
FEATURE_ID_n
attribute name to use the underscore:_FEATURE_ID_n
Preview: https://github.com/javagl/glTF/tree/ext-mesh-features-revision-spec/extensions/2.0/Vendor/EXT_mesh_features
Edited:
Things that still have to be done:
nullFeatureId
is not yet mentioned. ThefeatureCount
is already used, but not really explained in the text2022-02-09