Skip to content
Livecoding for projection at DIY shows
GLSL C Python Vim script Makefile Shell C++
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

GLSL Lighting Experiments

A work in progress for realtime livecoding visuals in raw GLSL.

The main tool I'm using is uniform.c, which pipes a tap-tempo u_beat uniform and an audio amplitude u_amp amplitude into glslViewer.

If you want to learn how to use this stuff, or how GLSL works, I recommend The Book of Shaders where you can learn and experiment right in your browser. (Chrome probably works best?) Gibber is also a whole bundle of fun, only a browser needed to learn GLSL and make generative music along with it.


  • 20190517 - Reconsiderate, Earthlings, etc. @ Bos Meadery
  • 20190420 - Asumaya, Cap Alan @ Communication
  • 20181201 - Algorave w/ Tarek Sabbar @ Communication
  • 20181120 - Yellowstone Apocalypse, Tubal Cain, Threadmaker @ Communication
  • 20181005 - Combat Naps, David Poole, Seal Eggs, Lynch / Earhart / Bible @ Communication
  • 20180823 - Asumaya, Lamon Manuel, Skech185 @ Communication
  • 20180810 - Rox Lee, Gentle Leader XIV, Threadmaker @ Communication
  • 20180622 - Cap Alan, Brekher / Lynch / Rodriguez, DB Pedersen as TBA @ Communication
  • 20180530 - Louise Bock, Ka Baird @ Communication
  • 20180413 - Drug Spider, Cribshitter, Labrador, L.A. Manatee @ Art In
  • 20180314 - Disaster Passport @ High Noon Saloon
  • 20180226 - Drug Spider, Corridore, Dystopian Echo @ High Noon Saloon
  • 20180202 - And Illusions, IE, Louise Bock @ Williamson Magnetic Co.
  • 20180114 - Julian Lynch and Emili Earhart, Harper, Sleep Now Forever @ Williamson Magnetic Co.
  • 20171114 - Sleep Now Forever, Ada Babar, BLank, Emili Earhart @ Williamson Magnetic Co.
  • 20170828 - Judders, Cut Shutters, And Illusions @ Arts + Literature Laboratory
  • 20170602 - And Illusions, Pat Keen, Tippy @ Arts + Literature Laboratory
  • 20170504 - Glassmen, Maniac du Jour, Twelves @ Williamson Magnetic Co.

Tools used:

  • glslViewer for compile/display
  • vim for quick editing
  • My crappy uniform.c for tap tempo, audio, and MIDI input
    • apt-get install libpulse-dev libasound2-dev
    • I have no idea how to make this compile on OSX or Windows, sorry


  • batch automation mode
    • find a decent args parser? or use a json format or something?
    • maintain active.frag from uniform.c, pass in directory to rotate through, alpha sort or random
    • external sourced measure-scale uniform values that uniform.c can control with beat * 4 lfo... section-scale that's measure*4
  • vim macro improvements
    • "shader" mode, where binds become easier to hit until ESC
    • tmux "swap to beat" things
  • uniform.c support for more things
    • amplitude FFT for hi/lo amplitude peaks (test if laptop speaker good enough)
    • LFO mods
      • allow "firing" the LFO in a really slow 10-30s fade
      • allow "bending" the wave toward early or late
      • allow beat multiplier "patterns" like 4 normal beats and one that is 4 times as long
  • other ideas
    • spirograph style
    • stark masking
    • work from tiling example
    • work from organic fog example
    • u_mouse for dimming/amp adjust?
    • mess with u_time in more ways
      • sine wave
      • add beat


This garbage is licensed under the MIT license.

You can’t perform that action at this time.