Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
538d0b5
draft wip
markschlosseratbentley Sep 11, 2025
370bb69
flesh out
markschlosseratbentley Nov 12, 2025
8dc4d4f
edit
markschlosseratbentley Nov 12, 2025
660547b
edit
markschlosseratbentley Nov 12, 2025
4c2db7a
edit
markschlosseratbentley Nov 12, 2025
df42e1f
edit
markschlosseratbentley Nov 12, 2025
fa417ca
edit
markschlosseratbentley Nov 12, 2025
9d7bd80
edit
markschlosseratbentley Nov 12, 2025
71b76a2
edit
markschlosseratbentley Nov 12, 2025
7c0392b
edit
markschlosseratbentley Nov 12, 2025
8ab1475
revise as suggested
markschlosseratbentley Nov 13, 2025
44ae369
materials->material
markschlosseratbentley Nov 13, 2025
f72cc1f
rename schema
markschlosseratbentley Nov 13, 2025
d68e400
Update extensions/2.0/Vendor/BENTLEY_materials_point_style/schema/mat…
markschlosseratbentley Nov 13, 2025
875d8d0
copyright change
markschlosseratbentley Nov 20, 2025
70cd77b
Merge branch 'BENTLEY_materials_point_style' of https://github.com/Ce…
markschlosseratbentley Nov 20, 2025
9046f36
Update README.md
danielzhong Nov 21, 2025
12c6134
Update material.BENTLEY_material_point_style.schema.json
danielzhong Nov 21, 2025
56ffd04
Rename point style property from width to diameter
danielzhong Nov 21, 2025
96487a3
plural materials
markschlosseratbentley Nov 21, 2025
638e66a
materials plural
markschlosseratbentley Nov 21, 2025
8914e81
materials plural
markschlosseratbentley Nov 21, 2025
edd8283
known implementations
markschlosseratbentley Dec 5, 2025
be7ce30
pixel clarification
markschlosseratbentley Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions extensions/2.0/Vendor/BENTLEY_materials_point_style/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!--
Copyright 2015-2025 The Khronos Group Inc.
SPDX-License-Identifier: CC-BY-4.0
-->

# BENTLEY_material_point_style

## Contributors

* Paul Connelly, Bentley Systems, [@pmconne](https://github.com/pmconne)
* Mark Schlosser, Bentley Systems, [@markschlosseratbentley](https://github.com/markschlosseratbentley)

## Status

Draft

## Dependencies

Written against the glTF 2.0 spec.

## 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 width in screen pixels. Such width 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.

## Specifying Point Styles

The `BENTLEY_material_point_style` extension is applied to a material. When that material is used by a `POINTS` primitive (indicated by a value of `0` for [`mesh.primitive.mode`](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#_mesh_primitive_mode)), the extension dictates the width of those points in pixels.

### Width

The `width` property specifies the diameter of each point in pixels. When specified, this value must be greater than zero.

For each point, implementations should render the point such that a filled circle is centered at the point's pixel screen position with a pixel diameter equal to `width`. This point faces the camera.
Comment thread
markschlosseratbentley marked this conversation as resolved.
Outdated

## Implementation Notes

Some graphics APIs may not require that implementations directly support point sizes greater than one. For example, [Section 3.4 of the OpenGL ES 3.0 Specification](https://registry.khronos.org/OpenGL/specs/es/3.0/es_spec_3.0.pdf) only guarantees a maximum point size of at least one via `ALIASED_POINT_SIZE_RANGE`. In such cases, points with widths greater than one could be rendered as quads which are shaped into circles using a shader.

## JSON Schema

* [material.BENTLEY_material_point_style.schema.json](schema/material.BENTLEY_material_point_style.schema.json)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
Comment thread
markschlosseratbentley marked this conversation as resolved.
Outdated
"title": "BENTLEY_material_point_style extension",
"type": "object",
"description": "Specifies point width for CAD-style visualization.",
"allOf": [
{ "$ref": "glTFProperty.schema.json" }
],
"properties": {
"width": {
"type": "number",
"description": "Width of the point in screen pixels. Must be > 0.",
"minimum": 0
Comment thread
markschlosseratbentley marked this conversation as resolved.
Outdated
},
"extensions": {},
"extras": {}
},
"required": ["width"]
}
Comment thread
markschlosseratbentley marked this conversation as resolved.
Outdated