Skip to content

BENTLEY_primitive_restart #2478

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

pmconne
Copy link

@pmconne pmconne commented Mar 5, 2025

This extension permits the prohibition against maximal index values in index buffers to be selectively relaxed for groups of primitives, while providing a trivial fallback for implementations that don't support primitive restart. Discussed in #1142.

@@ -0,0 +1,152 @@
<!--
Copyright 2015-2021 The Khronos Group Inc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update this line to say 2025 and the actual copyright holder.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pjcozzi any guidance on copyright and license here? The extension template includes this placeholder, but only one vendor extension actually includes it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rudybear can you confirm if extensions should have a copyright comment? If so, is it copyright Khronos?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a part of REUSE compliance. All files must have such comments (if some don't we should fix that).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A vendor-prefixed extension should be owned by the vendor. Khronos usually owns extensions with KHR and EXT prefixes.

@lexaknyazev lexaknyazev requested review from emackey and javagl March 7, 2025 19:54
@lexaknyazev
Copy link
Member

lexaknyazev commented Mar 7, 2025

@emackey @javagl
What do you think about making this an EXT extension? It seems quite trivial to support it in viewers.

Also since it extends mesh objects, should it be called *_mesh_primitive_restart?

Copy link
Contributor

@javagl javagl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disclosure: I'm an independent contributor, but also a freelancer with a connection to Bentley. I do not speak on behalf of either side here. I also have not yet reviewed this extension proposal on a technical level (only causally watching the comments and discussions).

Only about the naming:

Whether the prefix is BENTEY or EXT is up do decide for the person who proposes the extension.

(Although some of the extension development process is about to be refined, the section at https://github.com/KhronosGroup/glTF/tree/main/extensions#naming will likely still be kept in a similar form. One addition here might be that the EXT prefix suggests some broad, general applicability or that the extension is not bound to any form of ~"vendor-specific functionality" - but that's very vague...)

The naming section also says

Names SHOULD be structured as <PREFIX>_<scope>_<feature>, where scope is an existing glTF concept (e.g. mesh, texture, image)

It is not entirely clear whether that only refers to top-level elements (somehow related to the point of gltfProperty vs. glTFChildOfRootProperty above), and whether any "sub-element" should be part of the name.

One could make a case to always include the "top-level" element name. Be it at least for the case that someone defines an extension that goes into an animation.sampler, and we want to make sure that it is called EXT_animation_sampler_example, and not just EXT_sampler_example, which would cause an ambiguity with the top-level sampler.

So I'd be leaning towards _mesh_primitive_restart here.

@pmconne
Copy link
Author

pmconne commented Mar 10, 2025

Whether the prefix is BENTEY or EXT is up do decide for the person who proposes the extension.

If there's no objection, I will push a change to rename the extension to EXT_mesh_primitive_restart and assign the copyright to Khronos.

@bghgary
Copy link
Contributor

bghgary commented Mar 10, 2025

Should we just name it KHR_ directly? We have already ratified some EXT_ extensions and wasn't able to rename to KHR_ due to compatibility. Would we ever consider ratifying this extension?

@lexaknyazev
Copy link
Member

Should we just name it KHR_ directly?

We'd have to get an agreement within 3DF WG first and commit to providing Sample Assets at least.

@pjcozzi
Copy link
Member

pjcozzi commented Apr 28, 2025

Should we just name it KHR_ directly?

We'd have to get an agreement within 3DF WG first and commit to providing Sample Assets at least.

@lexaknyazev @bghgary any update on this? Or any additional feedback for @pmconne?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants