Presentation Objects

Use user interface elements to display your Metal content.


Metal Drawables

Render or write to a drawable and display it on the screen. Drawables are displayable resources available through either MetalKit or Core Animation.

Obtaining, Presenting, and Releasing Drawables

Hold drawables as briefly as possible to avoid blocking your own work.


A displayable resource that can be rendered or written to.


A displayable resource that can be rendered or written to by Metal.

MetalKit View

Use a specialized view, with an optional drawing delegate, to create a display-centered Metal app.


A specialized view that creates, configures, and displays Metal objects.


Methods for responding to a MetalKit view's drawing and resizing events.

Core Animation Layer

Use a specialized backing layer to create a display-centered Metal app.

Displaying HDR Content in a Metal Layer

Bring your high dynamic range (HDR) content to compatible Mac displays.


A layer that manages a pool of Metal drawables.

See Also


Creating and Sampling Textures

Load image data into a texture and apply it to a quadrangle.

Generating Multiple Output Vertex Streams from One Input Stream

Render efficiently to multiple layers or viewports.

Render Pipelines

Specify how graphics primitives should be rendered.


A group of render targets that hold the results of a render pass.


The object to use for encoding commands for a render pass.


An object that splits up a single render pass so that it can be simultaneously encoded from multiple threads.

Model I/O

Specify precise locations within the textures associated with graphics processing.