Skip to content

Draft changes for Shapes and Bounding Volumes in glTF 2.1#2619

Open
weegeekps wants to merge 1 commit into
draft-2.1from
draft-2.1-shapes-bvh
Open

Draft changes for Shapes and Bounding Volumes in glTF 2.1#2619
weegeekps wants to merge 1 commit into
draft-2.1from
draft-2.1-shapes-bvh

Conversation

@weegeekps

@weegeekps weegeekps commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

This PR contains the draft changes for Shapes and Bounding Volumes in glTF 2.1. This PR currently points towards the draft-2.1 branch and should be safe to merge to that branch.

These changes were authored by @lilleyse.

Relevant Issues:

Summary from Copilot:

Major Additions:

1. Bounding Volumes for Nodes

  • Added the boundingVolume property to the node schema, allowing nodes to specify a local-space bounding volume for culling, loading, or other spatial operations. The bounding volume references a shape and can be transformed relative to the node. (F06053e9R1, specification/2.1/schema/boundingVolume.schema.jsonR1-R47)
  • Documented how bounding volumes are defined, how they are used in hierarchies (BVH), and best practices for asset authors.

2. Shape Definitions and Registry

  • Introduced a new top-level shapes array in the glTF schema, enabling authors to define reusable shape objects.
  • Documented the available built-in shape types (box, sphere, capsule, cylinder, plane), their parameters, and requirements for validity.

3. Shape and Bounding Volume Schemas

  • Added a general shape.schema.json describing the structure of a shape, including type and type-specific parameters.
  • Added individual schemas for each built-in shape type: box, sphere, capsule, cylinder, and plane, each with their own required parameters and validation rules. [1] [2] [3] [4] [5]
  • Added a boundingVolume.schema.json describing how a bounding volume references a shape and specifies its transform.

Summary of Most Important Changes:

Bounding Volumes

  • Added boundingVolume property to nodes, referencing a shape and specifying transform (rotation, scale, translation). (F06053e9R1, specification/2.1/schema/boundingVolume.schema.jsonR1-R47)
  • Documented the usage, best practices, and implementation notes for bounding volumes and bounding volume hierarchies in the glTF spec.

Shape System

  • Introduced a top-level shapes array in glTF, allowing reusable, parameterized shape definitions.
  • Documented built-in shape types and their parameters, including validation requirements and extension mechanisms.

Schema Additions

  • Added shape.schema.json and individual schemas for each built-in shape type (box, sphere, capsule, cylinder, plane) to validate shape definitions. [1] [2] [3] [4] [5] [6]
  • Added boundingVolume.schema.json to validate bounding volume definitions and their relationship to shapes.

@weegeekps weegeekps added the 2.1 label Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant