3dtiled-to-3dtiles
Reference notes

KHR gaussian splatting

<!--

KHR_gaussian_splatting

Source: https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_gaussian_splatting/README.md Status: Release Candidate (2026)

Overview

Defines basic support for storing 3D Gaussian splats in glTF assets as point cloud primitives.

Splats are defined by: position, rotation, scale, opacity, and spherical harmonics.

Extension Object Properties

PropertyTypeDescriptionRequired
kernelstringGaussian kernel typeYes
colorSpacestringColor space of reconstructed valuesYes
projectionstringProjection methodNo (default: "perspective")
sortingMethodstringSorting method for renderingNo (default: "cameraDistance")

Ellipse Kernel Attributes

Splat DataAttribute SemanticTypeRequired
PositionPOSITIONVEC3 floatYes
RotationKHR_gaussian_splatting:ROTATIONVEC4 float/byte/short normalizedYes
ScaleKHR_gaussian_splatting:SCALEVEC3 float/ubyte/ushortYes
OpacityKHR_gaussian_splatting:OPACITYSCALAR float/ubyte/ushort normalizedYes
SH degree 0KHR_gaussian_splatting:SH_DEGREE_0_COEF_0VEC3 floatYes
SH degree 1KHR_gaussian_splatting:SH_DEGREE_1_COEF_[0-2]VEC3 floatNo
SH degree 2KHR_gaussian_splatting:SH_DEGREE_2_COEF_[0-4]VEC3 floatNo
SH degree 3KHR_gaussian_splatting:SH_DEGREE_3_COEF_[0-6]VEC3 floatNo

Covariance Matrix

Σ = M·C·Cᵀ·Mᵀ

Where M = upper-left 3×3 of node transform, C = scale×rotation matrix.

Spherical Harmonics Color

Color = SH_0,0 × 0.2820947917738781 + 0.5

(plus higher degree terms for view-dependent color)

JSON Example

{
  "meshes": [{ "primitives": [{
    "attributes": {
      "POSITION": 0,
      "KHR_gaussian_splatting:SCALE": 2,
      "KHR_gaussian_splatting:ROTATION": 3,
      "KHR_gaussian_splatting:OPACITY": 4,
      "KHR_gaussian_splatting:SH_DEGREE_0_COEF_0": 5
    },
    "mode": 0,
    "extensions": {
      "KHR_gaussian_splatting": {
        "kernel": "ellipse",
        "colorSpace": "srgb_rec709_display"
      }
    }
  }]}]
}

Full Specification

See full spec at: https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_gaussian_splatting/README.md

On this page