---
title: CAMetalDrawable
framework: quartzcore
role: symbol
role_heading: Protocol
path: quartzcore/cametaldrawable
---

# CAMetalDrawable

A Metal drawable associated with a Core Animation layer.

## Declaration

```swift
protocol CAMetalDrawable : MTLDrawable
```

## Overview

Overview A CAMetalLayer instance owns any instance that implements this protocol. Don’t implement this protocol yourself. See the CAMetalLayer reference for information on how to request drawable objects.

## Topics

### Getting the Drawable’s Texture

- [texture](quartzcore/cametaldrawable/texture.md)

### Getting the Owning Layer

- [layer](quartzcore/cametaldrawable/layer.md)

## Relationships

### Inherits From

- [MTLDrawable](metal/mtldrawable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Metal and OpenGL

- [CAMetalLayer](quartzcore/cametallayer.md)
- [CAEAGLLayer](quartzcore/caeagllayer.md)
- [CAEDRMetadata](quartzcore/caedrmetadata.md)
- [CAOpenGLLayer](quartzcore/caopengllayer.md)
- [CARenderer](quartzcore/carenderer.md)
