<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/SkyboxGenerator",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:28RealityCoreTextureProcessing15SkyboxGeneratorC"
  },
  "title" : "SkyboxGenerator"
}
-->

# SkyboxGenerator

An object that generates a skybox cube texture from an equirectangular source.

```
class SkyboxGenerator
```

## Overview

Use a skybox generator to convert a latitude/longitude (equirectangular) Metal texture
into a cube texture that you can render as a scene background or feed into
[`ImageBasedLightTextureGenerator`](/documentation/RealityKit/ImageBasedLightTextureGenerator) to derive image-based-lighting diffuse and specular
textures. The generator dispatches its work onto a Metal command buffer that you
provide, so it composes naturally with other GPU work and with RealityKit’s
`LowLevelTexture`.

## Topics

### Creating a skybox generator

[`init(device: any MTLDevice)`](/documentation/RealityKit/SkyboxGenerator/init(device:)-1hp6p)

[`init(device: any MTLDevice) async`](/documentation/RealityKit/SkyboxGenerator/init(device:)-5ot7g)

### Generating a skybox

[`func generateSkybox(using: any MTLCommandBuffer, fromEquirectangular: any MTLTexture, quality: TextureSamplingQuality, into: any MTLTexture) throws`](/documentation/RealityKit/SkyboxGenerator/generateSkybox(using:fromEquirectangular:quality:into:))

Adds commands for generating a cube from an equirectangular image, including generating mipmaps.

[`func makeDescriptor(fromEquirectangular: any MTLTexture) throws -> MTLTextureDescriptor`](/documentation/RealityKit/SkyboxGenerator/makeDescriptor(fromEquirectangular:))

Returns a recommended skybox cube texture descriptor
(for [`generateSkybox(using:fromEquirectangular:quality:into:)`](/documentation/RealityKit/SkyboxGenerator/generateSkybox(using:fromEquirectangular:quality:into:))).

### Initializers

[`init(device:)`](/documentation/RealityKit/SkyboxGenerator/init(device:))

---

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)