Camogen is a visual art environment that allows you to write visual effects, arrange and chain them together using a graph system, and tweak parameters on the fly using an automatically generated interface. Every parameter can be changed by hand or by a motion graph system, allowing you to drive parameters with oscillators, MIDI controllers, and more.
I want Camogen to work for both programmers and non-programmers. It automatically generates an interface from shader code that can be tweaked, customized, and annotated, and each effect can be shared, remixed, and collected.
Camogen is an ongoing project and I'm building it to be modular and open-ended. My basic roadmap is to first finish and polish:
- Static image tools
- Motion tools
- MIDI and audio reactive tools
and beyond that, at some point in the future:
- Print media tools (page layout, PDF output, better text layout tools)
- 3D (load models and textures into a scene)
- Remote / streaming / network tools
- Add-on system to allow for special, non-shader nodes.
The user interface for camogen is available as an npm package on github and it is free for use in your own projects. In the future I hope to clean up the library and make it more generally useful, but for the time being it's relatively tailor made for Camogen.
- Adjustable, themeable split layout system that can be broken out into windows.
- Graph system that allows you to visually arrange and chain together shader programs.
- Keymaps for keyboard accessibility.
- Effect controls automatically generated from shader code. Each control can be customized and annotated.
- Cross platform, written in Javascript and WebGL.