← Gallery № 37 · webgl

Vertigo

Slow hypnotic tunnel with crimson ring segments, wave-based illumination, and dark void center.

What is Vertigo?

Vertigo is a slow tunnel: rings of crimson segments recede toward a dark centre, lit by a wave that travels along the tunnel axis rather than by a fixed light, so brightness arrives in pulses as you fall inward. A spiral parameter twists the tunnel: at zero the motion is a straight dolly, and pushing it up turns the fall into a corkscrew. Dragging rotates the tunnel. Tunnel speed and spiral intensity are the live parameters. One full-screen fragment shader with noise for the ring texture, DPR capped at 2, honours prefers-reduced-motion. Because the motion is dominated by low frequencies it stays hypnotic rather than busy, which is what makes it usable behind text.

Vertigo is a free WebGL web effect in the TappyPrism library. Slow hypnotic tunnel with crimson ring segments, wave-based illumination, and dark void center. It is rendered on the GPU by a fragment shader, so it costs almost nothing on the CPU and works well as a full-screen background. It ships as a single self-contained HTML file (vertigo.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Tunnel Speed, Spiral — adjustable in the browser or at runtime.

Parameters

ParameterKeyRangeDefault
Tunnel SpeedTUNNEL_SPEED0.1 – 1.50.5
SpiralSPIRAL_INTENSITY0.3 – 21

How to add Vertigo to your page

  1. Download the standalone file vertigo.html and copy its source into your project.
  2. Or embed it as a background iframe:
    <iframe src="https://prism.tappypotato.com/fx/vertigo.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Vertigo"></iframe>
  3. Tune it at runtime with postMessage:
    iframe.contentWindow.postMessage({ type: 'param', name: 'TUNNEL_SPEED', value: 0.5 }, '*');

Frequently asked questions

What is Vertigo?

Vertigo is a slow tunnel: rings of crimson segments recede toward a dark centre, lit by a wave that travels along the tunnel axis rather than by a fixed light, so brightness arrives in pulses as you fall inward. A spiral parameter twists the tunnel: at zero the motion is a straight dolly, and pushing it up turns the fall into a corkscrew. Dragging rotates the tunnel. Tunnel speed and spiral intensity are the live parameters. One full-screen fragment shader with noise for the ring texture, DPR capped at 2, honours prefers-reduced-motion. Because the motion is dominated by low frequencies it stays hypnotic rather than busy, which is what makes it usable behind text. Vertigo is a free WebGL web effect in the TappyPrism library. Slow hypnotic tunnel with crimson ring segments, wave-based illumination, and dark void center. It is rendered on the GPU by a fragment shader, so it costs almost nothing on the CPU and works well as a full-screen background. It ships as a single self-contained HTML file (vertigo.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Tunnel Speed, Spiral — adjustable in the browser or at runtime.

How do I add Vertigo to my website?

Download the standalone file at https://prism.tappypotato.com/fx/vertigo.html and copy its source into your page, or embed it as a background iframe: <iframe src="https://prism.tappypotato.com/fx/vertigo.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Vertigo"></iframe>. Tune it live with postMessage, e.g. iframe.contentWindow.postMessage({ type: 'param', name: 'TUNNEL_SPEED', value: 0.5 }, '*').