<!--
{
  "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/BufferDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation21GaussianSplatResourceC16BufferDescriptorV"
  },
  "title" : "GaussianSplatResource.BufferDescriptor"
}
-->

# GaussianSplatResource.BufferDescriptor

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

```
struct BufferDescriptor
```

## Overview

Express the stride and offset in bytes. The framework finds the value
for each splat by starting at the offset and advancing one stride per
splat.

## Topics

### Initializers

[`init(buffer: LowLevelBuffer, format: MTLAttributeFormat, stride: Int, offset: Int)`](/documentation/RealityKit/GaussianSplatResource/BufferDescriptor/init(buffer:format:stride:offset:))

Creates a descriptor that locates a property within a buffer.

### Instance Properties

[`let buffer: LowLevelBuffer`](/documentation/RealityKit/GaussianSplatResource/BufferDescriptor/buffer)

The buffer that stores the property’s values.

[`let format: MTLAttributeFormat`](/documentation/RealityKit/GaussianSplatResource/BufferDescriptor/format)

The element format of each value in the buffer.

[`let offset: Int`](/documentation/RealityKit/GaussianSplatResource/BufferDescriptor/offset)

The byte offset of the first splat’s value within the buffer.

[`let stride: Int`](/documentation/RealityKit/GaussianSplatResource/BufferDescriptor/stride)

The distance, in bytes, between consecutive splats’ values.

---

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)