Doodah Band Shader Live-coding Tool


Doodah Band is a minimal GLSL live-coding tool, in the style of Bonzomatic. Its intended use case is quick personal shader writing sessions. It provides its own music playback and queuing (instead of needing external input), uses an external texture editor for user comfort, requires the base minimum of dependencies, and has no configuration file that needs to be fiddled with. It also uses OpenGL ES 2.0, which is more limited than full OpenGL, but makes it possible to run Doodah Band on even quite old single board computers.


Features:

- loads a builtin example shader at startup

- auto-reloads shader when file is overwritten

- accepts a list of .ogg music tracks to play from the command line

- built-in noise texture

- one user-provided texture

- time, music amplitude, music frequency is available to shaders

- previous frame is available to shaders

- average frame time display for estimation of GPU load


Limitations:

- uses GLSL ES 1.0

- no built in editor

- only supports music in .ogg files

- microphone input is not supported

- only one user provided texture

- errors only appear when running via a terminal/command line

- frame time measurement relies on some poorly defined OpenGL calls, and may not be reliable


Screenshot: a multi-coloured tunnel (the default shader).
Screenshot: reflective blobs fall upwards through rings.
Screenshot: glowing purple blobs that fuse and separate.
Screenshot: a torus with a lumpy surface.
Screenshot: glowing abstract twisted cylinders over a pattern of sequins.

Video: reflective blobs fall upwards through rings in a loop.

Usage


Source code is available from a link below. The tool is designed to be cross platform but I've only got around to building it on Linux systems. The included README gives more instructions.


Dependencies:

- C compiler

- SDL 2

- OpenGL ES 2.0


Source code

License


GPL v3.