<!--
{
  "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/makeDescriptor(fromEquirectangular:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:28RealityCoreTextureProcessing15SkyboxGeneratorC14makeDescriptor19fromEquirectangularSo010MTLTextureH0CSo0K0_p_tKF"
  },
  "title" : "makeDescriptor(fromEquirectangular:)"
}
-->

# makeDescriptor(fromEquirectangular:)

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

```
func makeDescriptor(fromEquirectangular texture: any MTLTexture) throws -> MTLTextureDescriptor
```

## Discussion

The dimensions of the cubemap are chosen so that the resolution of the input texture is approximately preserved.
This method allocates mipmap by default, as mipmaps are needed by
[`generateDiffuse(using:fromSkyboxCube:quality:into:)`](/documentation/RealityKit/ImageBasedLightTextureGenerator/generateDiffuse(using:fromSkyboxCube:quality:into:))
and [`generateSpecular(using:fromSkyboxCube:quality:into:)`](/documentation/RealityKit/ImageBasedLightTextureGenerator/generateSpecular(using:fromSkyboxCube:quality:into:)).

> Throws: If `texture` is not a 2D Metal texture.

---

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)