Render advanced 3D graphics and perform data-parallel computations using the GPU.


Metal encompasses the Metal framework, MetalKit framework, Metal Performance Shaders framework, Metal shading language, and Metal standard library. You use Metal to gain low-level and low-overhead access to the graphics processing unit (GPU), enabling you to maximize the graphics and compute potential of your app.


First Steps

Devices and Commands

Demonstrates how to access and interact with the GPU.

Hello Triangle

Demonstrates how to render a simple 2D triangle.

About GPU Family 4

Learn about A11 features, including raster order groups, tile shaders, and imageblocks.


Fundamental Components

Interact with the GPU and learn how to store, organize, and process your app's data.


Compute Processing

Execute compute-processing workloads on the GPU, such as those used in intensive scientific calculations.


Graphics Rendering

Execute graphics-rendering workloads on the GPU, such as those used in high-end 3D games.


Display Management

Display Metal content on the screen, whether it was created by a graphics-rendering or compute-processing operation.


Tools, Profiling, and Debugging

Use the Metal API, Xcode, and Instruments tools to profile and debug your app effectively.

Sample Code

Fundamental Lessons

Learn how to develop Metal apps by following introductory lessons and guided examples.

Advanced Techniques

Learn how to implement advanced techniques by using Metal features efficiently.

See Also