<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: -",
    "macOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/GaussianSplatResource",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation21GaussianSplatResourceC"
  },
  "title" : "GaussianSplatResource"
}
-->

# GaussianSplatResource

A container for the splat data and rendering options that a Gaussian splat
component displays.

```
final class GaussianSplatResource
```

## Overview

A Gaussian splat resource holds the per-splat data the framework renders,
together with the options that control how it renders that data: the scale
and opacity activation functions, the projection mode, the sorting mode,
and the color space.

Create a resource from a [`GaussianSplatResource.BufferResource`](/documentation/RealityKit/GaussianSplatResource/BufferResource-swift.struct) that
describes your splat buffers, then attach it to an entity with a
[`GaussianSplatComponent`](/documentation/RealityKit/GaussianSplatComponent):

```swift
let resource = GaussianSplatResource(bufferResource)
let entity = Entity()
entity.components.set(GaussianSplatComponent(resource))
```

For a complete example that builds the buffer resource from source data,
see [`GaussianSplatComponent`](/documentation/RealityKit/GaussianSplatComponent).

The framework references the resource’s buffers rather than copying them,
so you can update the contents of the underlying `LowLevelBuffer`
instances to animate the splats over time.

## Topics

### Structures

[`struct BufferDescriptor`](/documentation/RealityKit/GaussianSplatResource/BufferDescriptor)

A description of where one per-splat property lives within a buffer.

[`struct BufferResource`](/documentation/RealityKit/GaussianSplatResource/BufferResource-swift.struct)

A set of buffer descriptors that supplies the per-splat data for
rendering.

### Initializers

[`init(GaussianSplatResource.BufferResource)`](/documentation/RealityKit/GaussianSplatResource/init(_:))

Creates a resource from a buffer resource.

### Instance Properties

[`let bufferResource: GaussianSplatResource.BufferResource?`](/documentation/RealityKit/GaussianSplatResource/bufferResource-swift.property)

The buffer-based splat data the resource renders, if any.

[`var colorSpace: CGColorSpace`](/documentation/RealityKit/GaussianSplatResource/colorSpace)

The color space the framework uses to interpret splat colors.

[`var opacityActivation: GaussianSplatResource.ActivationFunction`](/documentation/RealityKit/GaussianSplatResource/opacityActivation)

The transformation the framework applies to the opacity values before
rendering.

[`var projectionMode: GaussianSplatResource.ProjectionMode`](/documentation/RealityKit/GaussianSplatResource/projectionMode-swift.property)

The projection technique the framework uses for splat footprints.

[`var scaleActivation: GaussianSplatResource.ActivationFunction`](/documentation/RealityKit/GaussianSplatResource/scaleActivation)

The transformation the framework applies to the scale values before
rendering.

[`var sortingMode: GaussianSplatResource.SortingMode`](/documentation/RealityKit/GaussianSplatResource/sortingMode-swift.property)

The order in which the framework draws splats to blend their opacity.

### Enumerations

[`enum ActivationFunction`](/documentation/RealityKit/GaussianSplatResource/ActivationFunction)

A transformation the framework applies to raw scale or opacity values
before rendering.

[`enum ProjectionMode`](/documentation/RealityKit/GaussianSplatResource/ProjectionMode-swift.enum)

The technique the framework uses to project a 3D splat onto the 2D
screen.

[`enum SortingMode`](/documentation/RealityKit/GaussianSplatResource/SortingMode-swift.enum)

The available ways to order splats so the framework blends their
opacity correctly.

[`enum SphericalHarmonicDegree`](/documentation/RealityKit/GaussianSplatResource/SphericalHarmonicDegree)

The amount of view-dependent color detail stored per splat.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)