Creative Coding Libraries and Frameworks #
You can do ‘creative coding’, in just about any software system or tool. Yet, you want to work with a framework that is suitable to you. Creative Coding libraries/frameworks tend to be collections of functions or systems built in an existing programming language. You write in a language that you are, perhaps, familiar with, and utilize the resources that the creative coding framework gives you.
Most creative coding environments (’environment’ here is an ambiguous term to mean the whole setup: programming language, software, frameworks, code, etc) are focused on making small things. Processing calls it’s projects “sketches”. Working iteratively with small projects, as an approach to creating with computers, is apparent in the design and layout of the tools. Instead of, say, a single Unity project that you might spend months on, in the same time one might instead create hundreds of sketches that iterate and play with the same ideas or techniques. This iteration is part of why creative coding makes for such a great educational approach.
openFrameworks and Processing are perhaps the most well known and influential frameworks, but there is no need to default to just downloading processing or learning C++. Finding a framework that exists in a language that you are familiar. More importantly, look for one that is convenient to use for your desired output.
As much as possible, I have linked not to the home or ‘getting started’ pages to the following projects, but to the about page, where you can usually read about why the creators of the library felt it was necessary to create - as opposed to using another one that already existed. Understanding the goals of the software will help you gauge it’s likely strengths.
- OpenFrameworks (C++)
- Processing (Java)
- Processing.py (Python)
- Cinder (C++)
- OPENRNDR (Kotlin)
- Klak (Unity/C#)
- nannou (Rust)
Shader Editors #
- KodeLife Real-time GPU shader editor
- Shadertoy - Web Community & Tool
- GSNComposer - Visual Web Tool for Shaders
- SHADERed - Shader Writing Software