using-metalfx-temporal-upscaler

Installation
SKILL.md

Adding MetalFX Temporal Upscaling to a Metal App

This skill walks through integrating MTLFXTemporalScaler into an existing Metal rendering application. The scaler renders at a lower resolution and uses motion vectors, depth, and temporal jitter to produce a high-quality upscaled output.

Prerequisites

  • macOS 13.0+ / iOS 16.0+
  • Apple Silicon recommended
  • @import MetalFX; (auto-links with CLANG_ENABLE_MODULES = YES)
  • The app must already render a 3D scene with a projection matrix and model-view-projection transforms

Overview of Changes

The integration touches 3 areas:

  1. Shaders — Add motion vector output (MRT) and subpixel jitter to the vertex shader
  2. Renderer — Create offscreen render targets, the temporal scaler, and a new 3-pass render flow
  3. Shared types — Add previous-frame MVP and jitter offset to the per-frame data struct

Read references/integration-guide.md for the complete technical reference including API details, texture formats, jitter sequences, motion vector conventions, and troubleshooting.

Installs
1
GitHub Stars
89
First Seen
Jul 14, 2026
using-metalfx-temporal-upscaler — apple/game-porting-toolkit