Framebolt

Updated August 17, 2026

Frame Mac screenshots and recordings with real GLSL

Framebolt runs shader backgrounds behind a capture and compiles compatible GLSL through glslang and SPIRV-Cross to Metal. The same framing controls work for stills and video.

Check release status
Illustrative shader frameIllustrative UI
Aurora frameiTime 08.0
This browser visual approximates an Aurora-style backdrop; it is not a rendered app export.

From raw capture to framed output

  1. 1

    Capture first

    Keep the raw PNG or MP4 local and untouched. Framing is an optional second-stage presentation pass.

  2. 2

    Choose a frame

    Set padding, rounded corners, border width, gradients, a custom image, the bundled Aurora shader, or a validated custom shader.

  3. 3

    Render at the right time

    Still captures can scrub 0–20 seconds of shader time. Video receives the current timeline time as iTime so motion carries through export.

Compatibility is explicit

The importer is intentionally narrower than a generic ShaderToy runtime so a failure can be explained instead of silently producing a wrong frame.

AcceptedRejected or outside the boundary
Exactly one Image/Main passFragCoord external image, video, or cubemap annotations
Shared Common code and live audio spectrumIncludes and VR entry points
Up to four ordered buffers, including supported previous-frame feedbackGraphs above the four-buffer or 256 MB feedback limits
GLSL compiled to SPIR-V then MSLHandwritten syntax substitution

Why this is different from a gradient card

A static gradient can make a screenshot tidy. A compiled shader can carry the visual language into a recording, respond to time, and preserve a reusable preset. Framebolt keeps both options, so a plain presentation frame is still a first-class choice.

Questions about glsl backgrounds for screenshots and recordings

Custom shader reference

Reference the supported GLSL entry points, uniforms, import boundary, mouse behavior, diagnostics, and representative failure cases.