A sheet of lines lifted into relief by whatever you feed it: fractal noise, interfering ripples, a photograph, your camera, or the sound in the room scrolling past as a spectrogram landscape. Turn on occlusion and the far lines hide behind the near ones, the way a real surface would.
Camera and microphone start only when you pick those sources, stay on your device, and stop when you switch away.
The field is a grid of vertices whose rows are drawn as polylines. A vertex shader reads the source at each vertex's (u, v) position and lifts it by height × displacement. Image and camera heights are Rec. 709 luminance, averaged over a five-tap cross so pixel noise doesn't turn into spikes. Ripples is the physics one: three point sources emit circular waves sin(k·r − ωt) / √r (the far-field amplitude falloff of a 2D wave), and the sheet shows their interference — the same superposition behind a ripple tank.
Sound writes one row of the microphone's FFT magnitudes into a 256 × 160 texture every frame and advances a ring-buffer pointer, so the newest spectrum is at the front edge and older ones recede — a spectrogram you can walk around. Frequency bins are mapped logarithmically (as hearing is), from about 40 Hz to 16 kHz.
Occlusion first draws the surface as solid black triangles into the depth buffer, then draws the lines on top with a small polygon offset, so lines behind a hill are hidden: a hidden-line render, the technique behind many classic plotter and pulsar-plot images.
In conversation with the line-and-light installations of NONOTAK and the data landscapes of Ouchhh and fuse* — not a recreation of any work, and not affiliated.