About Metal and This Guide
Describes how to use the Metal framework to implement low-overhead graphics rendering or parallel computational tasks.
At a Glance
This document describes the fundamental concepts of Metal: the command submission model, the memory management model, and the use of independently compiled code for graphics shader and data-parallel computation functions. The document then details how to use the Metal API to write an app.
You can find more details in the following chapters:
- Fundamental Metal Concepts briefly describes the main features of Metal.
- Command Organization and Execution Model explains how to create and submit commands to the GPU for execution.
- Resource Objects: Buffers and Textures discusses the management of device memory, including buffer and texture objects that represent GPU memory allocations.
- Functions and Libraries describes how Metal shading language code can be represented in a Metal app, and how Metal shading language code is loaded onto and executed by the GPU.
- Graphics Rendering: Render Command Encoder describes how to render 3D graphics, including how to distribute graphics operations across multiple threads.
- Data-Parallel Compute Processing: Compute Command Encoder explains how to perform data-parallel processing.
- Buffer and Texture Operations: Blit Command Encoder describes how to copy data between textures and buffers.
- Metal Tools lists the tools available to help you customize and improve your development workflow.
- Metal Feature Set Tables lists the feature availability, implementation limits, and pixel format capabilities of each Metal feature set.
- What's New in iOS 9 and OS X 10.11 summarizes the new features introduced in iOS 9 and OS X 10.11.
- What’s New in iOS 10, tvOS 10, and OS X 10.12 summarizes the new features introduced in iOS 10, tvOS 10, and OS X 10.12.
- Tessellation describes the Metal tessellation pipeline used to tessellate a patch, including the use of a compute kernel, tessellator, and post-tessellation vertex function.
- Resource Heaps describes how to sub-allocate resources from a heap, alias between them, and track them with a fence.
Prerequisites
You should be familiar with the Objective-C language and experienced in programming with OpenGL, OpenCL, or similar APIs.
See Also
The Metal Framework Reference is a collection of documents that describes the interfaces in the Metal framework.
The Metal Shading Language Specification is a document that specifies the Metal shading language, which is used to write a graphics shader or a compute function that is used by a Metal app.
In addition, several sample code projects using Metal are available in the Apple Developer Library.
Copyright © 2016 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2016-12-12