<!--
{
  "availability" : [
    "iOS: 2.0.0 - 12.0.0",
    "iPadOS: 2.0.0 - 12.0.0",
    "macCatalyst: 2.0.0 - 12.0.0",
    "tvOS: 9.0.0 - 12.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "OpenGLES",
  "identifier" : "/documentation/OpenGLES/EAGLDrawable",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "OpenGL ES"
    ],
    "preciseIdentifier" : "c:objc(pl)EAGLDrawable"
  },
  "title" : "EAGLDrawable"
}
-->

# EAGLDrawable

iOS objects that implement the `EAGLDrawable` protocol can be used as a rendering surface and displayed to the screen by an `EAGLContext` object. In iOS 2.0, this protocol is implemented only by the `CAEAGLLayer` class, but in the future other classes may choose to implement the protocol. The `EAGLDrawable` protocol is not intended to be implemented by objects outside of the iOS.

```
protocol EAGLDrawable
```

## Topics

### Drawable Properties

[`drawableProperties`](/documentation/OpenGLES/EAGLDrawable/drawableProperties)

A dictionary of values that specify the desired characteristics of the drawable surface.

### Constants

[Drawable Property Keys](/documentation/OpenGLES/drawable-property-keys)

Keys to specify in the `drawableProperties` dictionary.

[Color Formats](/documentation/OpenGLES/color-formats)

Color formats that can be specified under the `kEAGLDrawablePropertyColorFormat` key.



---

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)