---
title: Adjusting the level of detail using Metal mesh shaders
framework: metal
role: sampleCode
role_heading: Sample Code
path: metal/adjusting-the-level-of-detail-using-metal-mesh-shaders
---

# Adjusting the level of detail using Metal mesh shaders

Choose and render meshes with several levels of detail using object and mesh shaders.

## Overview

Overview note: This sample code project is associated with WWDC22 session 10162: Transform your geometry with Metal mesh shaders. Configure the sample code project To run this sample, you need Xcode 14 or later, and a physical device that supports MTLGPUFamily.mac2 or MTLGPUFamily.apple7, such as: A Mac running macOS 13 or later An iOS device with an A15 chip or later running iOS 16 or later This sample can only run on a physical device because it uses mesh shader features, which Simulator doesn’t support.

## See Also

### Render workflows

- [Using Metal to draw a view’s contents](metal/using-metal-to-draw-a-view's-contents.md)
- [Drawing a triangle with Metal 4](metal/drawing-a-triangle-with-metal-4.md)
- [Selecting device objects for graphics rendering](metal/selecting-device-objects-for-graphics-rendering.md)
- [Customizing render pass setup](metal/customizing-render-pass-setup.md)
- [Creating a custom Metal view](metal/creating-a-custom-metal-view.md)
- [Calculating primitive visibility using depth testing](metal/calculating-primitive-visibility-using-depth-testing.md)
- [Encoding indirect command buffers on the CPU](metal/encoding-indirect-command-buffers-on-the-cpu.md)
- [Implementing order-independent transparency with image blocks](metal/implementing-order-independent-transparency-with-image-blocks.md)
- [Loading textures and models using Metal fast resource loading](metal/loading-textures-and-models-using-metal-fast-resource-loading.md)
- [Creating a 3D application with hydra rendering](metal/creating-a-3d-application-with-hydra-rendering.md)
- [Culling occluded geometry using the visibility result buffer](metal/culling-occluded-geometry-using-the-visibility-result-buffer.md)
- [Improving edge-rendering quality with multisample antialiasing (MSAA)](metal/improving-edge-rendering-quality-with-multisample-antialiasing-msaa.md)
- [Achieving smooth frame rates with a Metal display link](metal/achieving-smooth-frame-rates-with-a-metal-display-link.md)
