Livecoding for projection at DIY shows
GLSL C Python Vim script Makefile C++ Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
current
experiments
frag
python-pulseaudio
shows
.gitignore
LICENSE
Makefile
README.md
audio.c
audio.h
beat.c
beat.h
go.sh
init.vim
midi.c
midi.h
test.sh
uniform.c

README.md

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.

Shows

  • 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
    • You will need libpulse-dev or equivalent package to use this
    • I have no idea how to make this compile on OSX or Windows, sorry

TODO

  • 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

Misc

This garbage is licensed under the MIT license.