A downloadable tool for macOS
ShaderChain is an open source GLSL fragment shader composition engine for realtime and offline rendering.
This is beta software. Please don't expect everything to be working perfectly. I'm happy to support by email or Discord. Video input doesn't work perfect with offline rendering.
- Build a shader stack with each rendered texture input to the next pass
- Define uniforms with JSON which map to UI and MIDI
- Serialize shader chains and uniforms to presets
- Create texture uniforms with video, webcam, microphone, sound files, framebuffer swaps, or other passes
- Render to PNGs, encode mp4s and gifs (ffmpeg required - install here)
- Gif encoding supports setting number of colors and scaled resolution
- Mp4 encoding supports looping video
- Use precise duration and framerate for slick looping gifs 🤩
- Build a midi map with the UI
- Livecode by going full screen and hiding the UI (bring your own editor)
- Frame averaging for motion blur
- Wasd+mouse camera control uniform
- Audio accumulator uniform (by Eris Fairbanks)
Trello board for bugs, ideas and plans
Google Doc for documentation
Repository if you would like to hack on it and contribute
Any proceeds between release and September were matched 3x (up to 1k CAD by me, @cabbibo and Dmitri Cherniak) and are split between One North End Community Fund (Halifax, NS) and First Peoples Justice Center of Montreal. In total, we raised $2,383 CAD. Thank you so much!
Eris Fairbanks for contributing the audio accumulator float uniform. Check out the audio2dkifs.json preset for an example!
Max D for making the Linux build and testing
Char Stiles for making the Windows build and testing
And of course a big thanks to everyone who has contributed to OpenFrameworks.
Shader Acknowledgements: The included bokeh, multi-sample hue shift and blur shaders are adapted from a gaussian blur function by mrharicot.
A shader include file contains distance functions from Team Mercury's hg_sdf library.
Click download now to get access to the following files: