Feedback Loop
Recursive video feedback tunnel with holographic color cycling, geometric seed shapes, and infinite fractal depth.
What is Feedback Loop?
Feedback Loop is a free WebGL web effect in the TappyPrism library. Recursive video feedback tunnel with holographic color cycling, geometric seed shapes, and infinite fractal depth. 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 (feedback-loop.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Zoom Speed, Rotation Speed — adjustable in the browser or at runtime.
Parameters
| Parameter | Key | Range | Default |
|---|---|---|---|
| Zoom Speed | ZOOM_SPEED | 0.5 – 3 | 1 |
| Rotation Speed | ROTATION_SPEED | 0.1 – 2 | 0.5 |
How to add Feedback Loop to your page
- Download the standalone file feedback-loop.html and copy its source into your project.
- Or embed it as a background iframe:
<iframe src="https://prism.tappypotato.com/fx/feedback-loop.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Feedback Loop"></iframe> - Tune it at runtime with postMessage:
iframe.contentWindow.postMessage({ type: 'param', name: 'ZOOM_SPEED', value: 1 }, '*');
Frequently asked questions
What is Feedback Loop?
Feedback Loop is a free WebGL web effect in the TappyPrism library. Recursive video feedback tunnel with holographic color cycling, geometric seed shapes, and infinite fractal depth. 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 (feedback-loop.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Zoom Speed, Rotation Speed — adjustable in the browser or at runtime.
How do I add Feedback Loop to my website?
Download the standalone file at https://prism.tappypotato.com/fx/feedback-loop.html and copy its source into your page, or embed it as a background iframe: <iframe src="https://prism.tappypotato.com/fx/feedback-loop.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Feedback Loop"></iframe>. Tune it live with postMessage, e.g. iframe.contentWindow.postMessage({ type: 'param', name: 'ZOOM_SPEED', value: 1 }, '*').