---
title: ImageBasedLightTextureGenerator
framework: realitykit
role: symbol
role_heading: Class
platforms: [iOS 27.0+, iPadOS 27.0+, tvOS 27.0+, visionOS 27.0+]
path: realitykit/imagebasedlighttexturegenerator
---

# ImageBasedLightTextureGenerator

An object that generates image-based-lighting diffuse and specular cube textures from a skybox.

## Declaration

```swift
class ImageBasedLightTextureGenerator
```

## Overview

Overview Image-based lighting (IBL) approximates how an environment lights a surface by convolving the environment’s skybox into two cube textures: a diffuse irradiance map (low-frequency lighting that hits matte surfaces) and a specular pre-filtered map (per-roughness lighting that drives glossy reflections). RealityKit’s EnvironmentResource consumes textures of this shape, and this generator lets you produce them directly in Metal so you can control resolution, pixel format, sampling quality, and command-buffer scheduling.

## Topics

### Creating a generator

- [init(device:)](realitykit/imagebasedlighttexturegenerator/init(device:)-22qce.md)
- [init(device:)](realitykit/imagebasedlighttexturegenerator/init(device:)-5yjyb.md)

### Generating IBL textures

- [generateDiffuse(using:fromSkyboxCube:quality:into:)](realitykit/imagebasedlighttexturegenerator/generatediffuse(using:fromskyboxcube:quality:into:).md)
- [generateSpecular(using:fromSkyboxCube:quality:into:)](realitykit/imagebasedlighttexturegenerator/generatespecular(using:fromskyboxcube:quality:into:).md)

### Describing output textures

- [makeDiffuseDescriptor(fromCube:)](realitykit/imagebasedlighttexturegenerator/makediffusedescriptor(fromcube:).md)
- [makeSpecularDescriptor(fromCube:)](realitykit/imagebasedlighttexturegenerator/makespeculardescriptor(fromcube:).md)

### Initializers

- [init(device:)](realitykit/imagebasedlighttexturegenerator/init(device:).md)

## See Also

### Environment texture generation

- [SkyboxGenerator](realitykit/skyboxgenerator.md)
- [TextureSamplingQuality](realitykit/texturesamplingquality.md)
