<!--
{
  "availability" : [
    "iOS: 5.0.0 - 12.0.0",
    "iPadOS: 5.0.0 - 12.0.0",
    "macOS: 10.8.0 - 10.14.0",
    "tvOS: 9.0.0 - 12.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "GLKit",
  "identifier" : "/documentation/GLKit/GLKReflectionMapEffect",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "GLKit"
    ],
    "preciseIdentifier" : "c:objc(cs)GLKReflectionMapEffect"
  },
  "title" : "GLKReflectionMapEffect"
}
-->

# GLKReflectionMapEffect

A lighting and shading system that supports reflection mapping for use in shader-based OpenGL rendering.

```
class GLKReflectionMapEffect
```

## Overview

In addition to any of the properties provided by the [`GLKBaseEffect`](/documentation/GLKit/GLKBaseEffect) class, your application must also configure the properties on the reflection map. The default value of the [`textureOrder`](/documentation/GLKit/GLKBaseEffect/textureOrder) property provided by the base effect is modified to include the reflection map as a final texturing stage; your application can modify the value of that property to change the order in which texturing occurs.

The reflection map effect is calculated in accordance to section 2.11.4 of the OpenGL 2.1 specification `GL_REFLECTION_MAP` glTexGen() mode. It requires a cube map texture to define the enclosing envelope from which to reflection map the scene.

## Topics

### Preparing the Reflection Effect

[`-  prepareToDraw`](/documentation/GLKit/GLKReflectionMapEffect/prepareToDraw())

Prepares an effect for rendering.

### Effect Properties

[`textureCubeMap`](/documentation/GLKit/GLKReflectionMapEffect/textureCubeMap)

The texture map to apply in the reflection stage.

[`matrix`](/documentation/GLKit/GLKReflectionMapEffect/matrix)

The reflection matrix to apply to the normals of the submitted vertices.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`GLKNamedEffect`](/documentation/GLKit/GLKNamedEffect)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

### Inherits From

[`GLKBaseEffect`](/documentation/GLKit/GLKBaseEffect)

---

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)