BENTLEY_materials_point_style#91
Conversation
...ndor/BENTLEY_materials_point_style/schema/material.BENTLEY_materials_point_style.schema.json
Outdated
Show resolved
Hide resolved
|
The glTF convention appears to be to name extensions based on the glTF object to which they apply. Rename to |
...endor/BENTLEY_materials_point_style/schema/material.BENTLEY_material_point_style.schema.json
Outdated
Show resolved
Hide resolved
…erial.BENTLEY_material_point_style.schema.json Co-authored-by: Paul Connelly <22944042+pmconne@users.noreply.github.com>
@pmconne As I look more into this, I am not seeing singular "material" used in other glTF extensions names. Extensions like KHR_materials_specular apply to a single material but still have the plural "materials" in their name. To be consistent, should we actually considering reverting back to the plural "materials" naming we started with? cc @danielzhong |
…siumGS/glTF into BENTLEY_materials_point_style
|
I changed copyright as suggested by @weegeekps. |
|
The following branch of iTwin.js has a basic reference implementation: https://github.com/iTwin/itwinjs-core/tree/markschlosser/point-style-gltf |
|
I'm taking a look at this a bit late, so apologies if some of this has already been covered
|
It was considered, but after discussion with @weegeekps and @akmorgan99 we decided to limit these vendor extensions to the feature set we need for iModels, which doesn't include batching points of different sizes. It could be a very minor optimization for CAD models though. If the extension supported that, would you consider using it, e.g., for point clouds, where batching would be a much more significant optimization? |
Actually, I don't have any other use cases in mind. For LiDAR points and vector data we would probably use the 3D Tiles declarative styling langue to control point size. |
This does need to be explicitly called out.
Have we actually evaluated if the styling language solves the problem this extension is attempting to solve? |
I think we were going for
|
@pmconne - Do you have any thoughts about this topic from when you first were thinking about this problem? I think the differentiator of this extension is being able to directly manipulate individual points' diameters instead of devising a condition for pointSize via the styling language. |
|
Using the styling language to control individual static point sizes seems inefficient (from a rendering POV) and verbose (from an encoding POV). It's also unclear to me how it would interact with any dynamic styling people want to apply at display time. |
|
@pmconne verbosity can definitely be a concern, but at least in practice what we've seen is that the rendering efficiency of the styling is very implementation specific. That said, this extension is fine and while there is potential overlap I wanted to just make sure we have at least considered the topic in case we get asked about it. The need here is different enough we don't need to use a nail where we need a screw. |
In the proposed CesiumJS reference implementation, we are multiplying the diameter by |
👍 for CSS pixels or whatever is the standard verbiage for this |
|
@markschlosseratbentley @lilleyse if use the CSS pixels verbiage, please include a link to the definition in the CSS3 docs and a note stating that the pixel is defined as |
|
I added clarification about CSS pixels to this specification. @weegeekps I included your suggested link and the formatted definition text: |
|
So, this PR looks good to go to me. I am planning on approving it and merging it on Monday to the new branch once that is created and configured. |
Sounds good. I just edited the PR description to be a bit more verbose and helpful. |
weegeekps
left a comment
There was a problem hiding this comment.
Looks good. I'll merge it.
Introduction
This PR describes an extension to glTF which meets the needs of Bentley Systems for styling point primitives with custom diameters. It is written with the possibility of possible future extensibility in mind; point styling other than diameter could be easily included in this specification in the future.
Overview
Points are fundamental elements in many 3D modeling and computer-aided design (CAD) environments. In such visualizations, individual point primitives may differ in their styling, mainly focused around their diameter in screen pixels. Such diameter can be used to indicate a variety of meanings useful to CAD applications.
This specification describes a minimal extension sufficient to meet Bentley Systems' requirements in supporting CAD-style visualizations of points using glTF.