Post

GaussianSplats

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

TypeAccess TypeNameDefault Value
SFNode[in, out]metadataNULL
SFString[in, out]colorSpace“SRGB_REC709_DISPLAY”
MFVec3f[in, out]positions[ ]
MFVec4f[in, out]orientations[ ]
MFVec3f[in, out]scales[ ]
MFFloat[in, out]opacities[ ]
MFVec3f[in, out]sphericalHarmonicsDegree0Coef0[ ]
MFVec3f[in, out]sphericalHarmonicsDegree1Coef0[ ]
MFVec3f[in, out]sphericalHarmonicsDegree1Coef1[ ]
MFVec3f[in, out]sphericalHarmonicsDegree1Coef2[ ]
MFVec3f[in, out]sphericalHarmonicsDegree2Coef0[ ]
MFVec3f[in, out]sphericalHarmonicsDegree2Coef1[ ]
MFVec3f[in, out]sphericalHarmonicsDegree2Coef2[ ]
MFVec3f[in, out]sphericalHarmonicsDegree2Coef3[ ]
MFVec3f[in, out]sphericalHarmonicsDegree2Coef4[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef0[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef1[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef2[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef3[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef4[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef5[ ]
MFVec3f[in, out]sphericalHarmonicsDegree3Coef6[ ]
SFBool[in, out]pointerEventsTRUE
SFBool[in, out]castShadowTRUE
SFBool[in, out]visibleTRUE
SFBool[in, out]bboxDisplayFALSE
SFVec3f[ ]bboxSize-1 -1 -1
SFVec3f[ ]bboxCenter0 0 0

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

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

Advice

Hints

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

GaussianSplats

Browser Compatibility

Castle Game EngineFreeWRLX_ITE X3D BrowserX3D-EditX3DOM

See Also

This post is licensed under CC BY 4.0 by the author.