Vertex Data

Points that specify precise locations within the textures associated with graphics processing.


Use vertex data to specify the area within source pixel data that a render command will draw. You also use vertex data to specify the precise location within your rendering targets on which a draw call renders. Often times, the bit you're drawing is just a piece of a larger sheet, for example, a single image that lies within an atlas of images that line up next to each other in the texture; you use vertex data to outline those specific areas.


Vertex Data

Viewing Your Meshes with the Geometry Viewer

Find problems in your app's vertex function by pausing your app at any time, and viewing the current geometry from an angle you choose.


An object that describes how vertex data is organized and mapped to a vertex function.


An object that represents an attribute of a vertex function.


An object that determines how attribute data is stored in memory and how it is mapped to the arguments of a vertex function.


An object that configures how vertex data and attributes are fetched by a vertex function.

Model Data

Handle Model I/O assets using a Metal-specific interface. MetalKit's highly optimized functions and objects allow for efficient data transfer between Model I/O meshes and Metal buffers.


A container for the vertex data of a Model I/O mesh, suitable for use in a Metal app.


A buffer that backs the vertex data of a Model I/O mesh, suitable for use in a Metal app.


An interface for allocating a MetalKit buffer that backs the vertex data of a Model I/O mesh, suitable for use in a Metal app.


A container for the index data of a Model I/O submesh, suitable for use in a Metal app.

Conversion Functions

Functions for converting between Metal and Model I/O vertex representations.

Model Errors

Errors that may be thrown by model handling methods.

See Also


Basic Buffers

Demonstrates how to manage hundreds of vertices with a vertex buffer.

Creating and Sampling Textures

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


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


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

Render Pass

A collection of commands that updates a set of render targets.

Render Pipeline

A specification for how graphics primitives should be rendered.

Presentation Objects

Various user interface elements you use to display your Metal content onscreen.