GaussianSplats
Overview
The GaussianSplats node adds basic support for direct real-time radiance field rendering of volume data without converting into surface or line primitives.
The GaussianSplats node belongs to the X_ITE component and requires at least support level 1, its default container field is children. It is available from X3D version 4.1 or higher.
Info: Please note that this node is still experimental, i.e. the functionality of this node may change in future versions of X_ITE.
Hierarchy
1
2
3
+ X3DNode
+ X3DChildNode
+ GaussianSplats (*X3DBoundedObject)
* Derived from multiple interfaces.
Fields
SFNode [in, out] metadata NULL [X3DMetadataObject]
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
Hint
SFString [in, out] colorSpace “SRGB_REC709_DISPLAY” [“SRGB_REC709_DISPLAY”, “LIN_REC709_DISPLAY”]
The color space of the reconstructed color values, either SRGB_REC709_DISPLAY or LIN_REC709_DISPLAY
Hints
MFVec3f [in, out] positions [ ] (-∞,∞)
The mean vector for the Gaussian splat is provided by the positions of the mesh primitive. This defines the center of the Gaussian splat ellipsoid in local space. The effective global mean vector for the Gaussian splat is derived from the positions field value and the global transformation matrix of the X3D node that instantiates the mesh containing the splat primitive as defined in the glTF specification.
MFVec4f [in, out] orientations [ ] [-1,1]
The orientations field values correspond to the orientation of those axes in local space. Orientation values are stored as unit quaternions in the usual glTF order (x,y,z,w).
MFVec3f [in, out] scales [ ] [0,∞)
The values in the scales field correspond to the spread of the Gaussian along its local principal axes. Scale values are linear and nonnegative.
MFFloat [in, out] opacities [ ] [0,1]
The opacity of a Gaussian splat is defined by the opacities field. It stores a normalized linear value between 0.0 (transparent) and 1.0 (opaque).
MFVec3f [in, out] sphericalHarmonicsDegree0Coef0 [ ] (-∞,∞)
Spherical harmonics data.
MFVec3f [in, out] sphericalHarmonicsDegree1Coef0 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree1Coef1 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree1Coef2 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree2Coef0 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree2Coef1 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree2Coef2 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree2Coef3 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree2Coef4 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef0 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef1 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef2 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef3 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef4 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef5 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
MFVec3f [in, out] sphericalHarmonicsDegree3Coef6 [ ] (-∞,∞)
Spherical harmonics data.
Warning
- To use higher degrees of spherical harmonics the lower degrees MUST be defined.
SFBool [in, out] pointerEvents TRUE non-standard
Indicates whether this GaussianSplats node is a target for pointer events, if FALSE then it is ignored during pointer picking.
SFBool [in, out] castShadow TRUE
castShadow defines whether this GaussianSplats node casts shadows as produced by lighting nodes.
Hint
- If the visible field is FALSE, then the GaussianSplats node does not cast any shadows.
SFBool [in, out] visible TRUE
Whether or not renderable content within this node is visually displayed.
Hints
- The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
- Content must be visible to be collidable and to be pickable.
SFBool [in, out] bboxDisplay FALSE
Whether to display bounding box for associated geometry, aligned with world coordinates.
Hint
- The bounding box is displayed regardless of whether contained content is visible.
SFVec3f [ ] bboxSize -1 -1 -1 [0,∞) or −1 −1 −1
Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
Hints
- Can be useful for collision computations or inverse-kinematics (IK) engines.
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- X3D Architecture, 10.2.2 Bounding boxes
- X3D Architecture, 10.3.1 X3DBoundedObject
SFVec3f [ ] bboxCenter 0 0 0 (-∞,∞)
Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
Hints
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- X3D Architecture, 10.2.2 Bounding boxes
- X3D Architecture, 10.3.1 X3DBoundedObject
Advice
Hints
- Wikipedia Gaussian splatting
- Khronos glTF 2.0 extension KHR_gaussian_splatting
- For advanced extensibility, authors can substitute a type-matched ProtoInstance node (with correct containerField value) for contained node content.
Warnings
- X3D Architecture version 4.1 draft is experimental and not fully implemented.
- X3D Architecture version 4.1 draft is experimental and not fully implemented.
Example
Browser Compatibility
| Castle Game Engine | FreeWRL | X_ITE X3D Browser | X3D-Edit | X3DOM |
|---|---|---|---|---|