Discotheque flies a camera down an endless nightclub corridor rendered live on your
graphics card. Mirrorball lamps hang from a hex ceiling and throw volumetric strobe beams across a
Voronoi dance floor. Tap the tempo, drive the light rig from the deck below the picture, and export
the result as a 4K still, an MP4 clip, or an animated GIF. Press F for fullscreen and H to
send the deck away, which turns it into a screensaver or a VJ backdrop.
Scene
Drive
Color
Tempo
Audio
Capture
Show
LevelNo signal
Flashing lights ahead
Discotheque shows fast strobe beams and rapid color changes. If flashing light triggers
seizures or migraines for you, start in safe mode. Safe mode slows the strobe rig by four times
and keeps the flash rate low. You can switch at any time with the SAFE pad.
An endless nightclub corridor, drawn live by your graphics card. Drive the light rig from the
deck under the picture. Tap the round pad in time with a track and the corridor moves on the beat.
Keys
Space pause · F fullscreen · H hide the deck
· S still · V video · G GIF
· D camera drift
· 1 to 4 scenes · R roll a new room · X reset
· T tap tempo · M microphone
· ? this panel · Esc back out of anything
Drag the picture to look around, or click it and use the arrow keys. It stays where you
leave it. Double-click, or press Home, to recenter. DRIFT lets the camera wander on its own;
dragging while it drifts moves the middle of the wander rather than stopping it.
The COLOR bay pushes the whole room toward one hue. HUE picks the color, TINT decides how
hard it pushes, and SAT and LIGHT work the way they do on a television. TINT at zero leaves
the room alone whatever HUE says.
Press F for fullscreen and H to send the deck away. In fullscreen the deck also leaves on
its own after a minute so you can point a projector at this and walk off. Move the mouse to
bring it back. Your rig is remembered for next time; Reset clears it.
Hit MIC to make the room move with whatever is playing in the room, or drop an audio file
onto the picture. Microphone audio is measured frame by frame and thrown away. It is never
recorded, stored, or sent anywhere.
Credits
The renderer is built on Disco Voronoi by Noztol and dr2, itself a fork of
Loop Tunnel by dr2.
The hex ceiling comes from Disco Hive
and the floor palette from Disco Fever.
Those shaders are published on Shadertoy under
CC BY-NC-SA 3.0,
and the GLSL renderer on this page is a derivative work carrying those terms:
attribution, non-commercial, share alike. Anyone reusing the shader takes the license
with it. The mirrorball facets, the environment reflection, the tempo rig, the light
deck, the audio analyzer, and the capture path are separate original work by Chris
Pirillo and are not covered by that grant. Discotheque itself is free to use.
It draws an endless nightclub corridor in real time and flies a camera
through it. Discotheque raymarches the whole room on the graphics card: mirrorball lamps,
strobe beams cutting through haze, a Voronoi dance floor, and hex tiles overhead. Nothing is
pre-rendered, so the corridor never repeats the same way twice.
How do I make the disco tunnel match my music?
Tap the round TAP BPM pad in time with the track. Two taps set the
tempo and every tap after that sharpens it. Travel speed and the pulsing wall panels both lock to that number, so the corridor
moves on the beat.
Why is the frame rate low, and how do I fix it?
Every pixel walks a ray through the room, so cost rises with
resolution. There is nothing to set. Discotheque measures your display's refresh rate at
startup and then moves the render resolution to hold it, so a 120Hz screen is aimed at 120
rather than 60. If you want more speed anyway, pull the BEAMS fader down. Each beam costs a
volumetric cone solve on every pixel, so it is the cheapest thing to give up.
Is Discotheque safe if I am sensitive to flashing lights?
Turn on the SAFE pad. It slows the strobe rig by four times and calms
the beam sweep, which keeps the flash rate well under three per second. Discotheque also asks
before it starts, so the first frame is never a surprise.
Can I make the disco tunnel react to music?
Yes, two ways. MIC listens to whatever your microphone hears, so it
follows a room, a speaker, or a record player. FILE plays an audio file you pick and follows
that instead; you can also drop the file straight onto the picture. The LEVEL bay on the
right of the deck shows what the analyzer is hearing, and reads NO SIGNAL when nothing is
playing. Bass drives the beam
brightness and punches the wall panels further out of the wall. With LOCK on, the tempo
readout follows the track, so the corridor travels on the beat. Microphone audio is measured
and discarded each frame. It is never recorded, stored, or sent anywhere.
Can I export the disco tunnel as a wallpaper or a video?
Yes. The Capture bay saves a still at 4K or 8K, records a clip your
browser encodes as MP4 or WebM, and builds an animated GIF. Every export renders off screen at
the size you pick, so the picture never jumps and the file is not limited to your window
size.
Do I need MilkDrop, Winamp, or a VJ app for this?
No. MilkDrop and its descendants need a desktop player installed and a
plugin to go with it, and most VJ software is paid and Windows or Mac only. Discotheque is a
web page. Open it on any machine with a modern browser, including a phone or a tablet, and it
runs on the graphics card that is already there. The trade is scope: this is one room rendered
four ways, not a preset library of thousands.
Does Discotheque need an account or upload anything?
No. Everything runs in the browser on your own graphics card. No
account, no upload, no server. Your settings live in the page address, so a copied link
carries the exact look you built.
Capture
Renders off screen at full size. The picture on screen does not
move or resize while it works.