Draft changes for Shapes and Bounding Volumes in glTF 2.1 - #2619
Conversation
…ranke. Co-authored-by: Aaron Franke <aaronfranke@users.noreply.github.com>
e889ce3 to
9cb2c0d
Compare
EricGriffith
left a comment
There was a problem hiding this comment.
Do we want to include mesh shape before we publish or do we want to incrementally publish?
|
Duplicating my comment from the issue: Could the specification clarify how a node's transform applies to its boundingVolume? My understanding is that the shape is defined in canonical local space, then the optional boundingVolume scale / rotation / translation are applied relative to the node's local coordinate system, and finally the node's own matrix or TRS transform (plus ancestor transforms) places the volume in world space. In other words, is the intended relationship: If so, it may be helpful to state this explicitly. |
Minor typo fix
I agree with this, but we'll discuss in the DTSG. |
This PR contains the draft changes for Shapes and Bounding Volumes in glTF 2.1. This PR currently points towards the
draft-2.1branch 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
boundingVolumeproperty to thenodeschema, 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)2. Shape Definitions and Registry
shapesarray in the glTF schema, enabling authors to define reusable shape objects.box,sphere,capsule,cylinder,plane), their parameters, and requirements for validity.3. Shape and Bounding Volume Schemas
shape.schema.jsondescribing the structure of a shape, including type and type-specific parameters.box,sphere,capsule,cylinder, andplane, each with their own required parameters and validation rules. [1] [2] [3] [4] [5]boundingVolume.schema.jsondescribing how a bounding volume references a shape and specifies its transform.Summary of Most Important Changes:
Bounding Volumes
boundingVolumeproperty to nodes, referencing a shape and specifying transform (rotation, scale, translation). (F06053e9R1, specification/2.1/schema/boundingVolume.schema.jsonR1-R47)Shape System
shapesarray in glTF, allowing reusable, parameterized shape definitions.Schema Additions
shape.schema.jsonand individual schemas for each built-in shape type (box,sphere,capsule,cylinder,plane) to validate shape definitions. [1] [2] [3] [4] [5] [6]boundingVolume.schema.jsonto validate bounding volume definitions and their relationship to shapes.