Generative Art

Generative Art #

This page is almost completely devoid of actual educational content. Instead, I’ve tried to make the most complete list of generative art tools and libraries on the internet. Of course, I can’t actually make an exhaustive list and may be missing some of the newest tools and ideals, so please check out these other communities for more:

If you’re interested in generative music and sounds as well, you may want to check out The OpGuides page on Music Software.

World Building Tools

Generative maps of how rivers meander, not the tool, but at least it’s the process
Meander

A tool for building custom maps, envisioned for use in tabletop roleplaying games.
mapgen


“Dungeon Map Doodler is a new, free to use drawing tool accessible from any web browser. Easily create maps for your favourite tabletop RPGs in minutes!”


This application generates a random medieval city layout of a requested size. The generation method is rather arbitrary, the goal is to produce a nice looking map, not an accurate model of a city.

make a map with tons of customization options including some about the culture and regions
fmapgen

Make a lil' solar system
space creator

Genbrush ~15 USD


NOTE: This is only free for non-commercial use

This one is for Minecraft, but still potentially useful

“3D Map editing utility for use with tabletop games like Dungeons & Dragons and Pathfinder”
datacomb

Import real map data into blender, cool for topograhpic maps and such

“World Anvil is a set of worldbuilding tools that helps you create, organize and store your world setting. With wiki-like articles, interactive maps, historical timelines, an RPG Campaign Manager and a full novel-writing software, we have all the tools you’ll need to run your RPG Campaign or write your novel!”

“LDtk is a modern and open-source 2D level editor, specifically designed for indie devs.”

Constructed Langugages, Generative Text
Generative Textures and Geometry
Check out these(1) pages (2) for more information
forsynthia

Noise maker can make a ton of generative art pieces, as you can see at the right, this is a small sampling using a few of the included presets. Can be a pain to get to run as it needs Tensorflow


“Making the computer draw weird shapes using basic trigonometry and different species of randomness(noise)”
Noisey-Shapes


Use this tool to create unique, seamless, royalty-free patterns.
Choose a base style, then customize with colors, filters, and transforms.
Each pattern style has it’s own unique transforms. Play around to see what they do.
Click the ‘shuffle’ button to see the kinds of patterns you can make.

Noisedeck is a generative art synth. Still in early development. Some features require a license.


Has a neat code editor too, for making more complex geometry


Making ‘Noise Planets’ on Avinayak’s Blog

Themer (Live Demo) (Github), meant for making themes for Linux enviroments, but makes good textures in general

Pixel Sorting
Fractal Art
Fractal Flames
[TODO]


[TODO]


A GPU-Accelerated Fractal Flame Editor

Chaotica is free for noncommercial use, and can render up to 1.23 megapixel images (e.g. 1280x960 resolution) and up to 30 second 480p animations without a licence. A Chaotica HD (45 USD) licence for casual users who want to create high quality desktop wallpapers up to 4 megapixels (e.g. 2560x1600) and 720p animations up to 3 minutes long is available at a very low price point. The professional Chaotica Studio (109 USD) licence has no still image or animation limitations at all. *prices are from time of writing

Generative Eyes
Livecoding Visuals

r/livecoding (Reddit)

Toplap.org - a site all about live coding

The Book of Shaders - “A gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.”






live coding for p5.js - you’ll probably want the VS Code Extension

JS library for visulaization & creative coding

demo


“Set of tools for livecoding networked visuals. Inspired by analog modular synthesizers, these tools are an exploration into using streaming over the web for routing video sources and outputs in realtime. Hydra uses multiple framebuffers to allow dynamically mixing, compositing, and collaborating between connected browser-visual-streams. Coordinate and color transforms can be applied to each output via chained functions.”

“Livecodelab is a special secret place where you can make fancy “on-the-fly” 3d visuals and play awesomely offbeat (literally) sounds. “On-the-fly” meaning: as you type. Type just three letters: “box”, and boom! a box appears. No clicking play, no waiting, no nothing.”

PICO8 inspired live coding visual instrument.”

“Gibber is a creative coding environment for audiovisual performance and composition. It contains features for audio synthesis and musical sequencing, 2d drawing, 3d scene construction and manipulation, and live-coding shaders.”

“Ronin is a procedural graphics tool designed to automate simple graphical tasks, like resizing, cropping, coloring, and generating algorithmic images. It interprets a minimal dialect of LISP, look at the examples to better understand how this all works.”

… this one basically lacks all description. Best you’ll get is the api docs in the wiki

node-basde tool for interactive realtime content on the web

Realtime GPU shader editor

“Cables is a tool for creating beautiful interactive content. With an easy to navigate interface and real time visuals, it allows for rapid prototyping and fast adjustments.” — Because this seems to be so ‘beta’ and I don’t see code or any indication on future pricing it’s probably not the best option at the moment

“Node-Based Image Manipulation Program”

vvvv - Heads up VVVV requires a licence for comercial use that is rather expensive
“vvvv is a hybrid visual/textual live-programming environment for easy prototyping and development. It is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously.”
vvvv

TouchDesigner (Free, but 600 USD for Commercial licence)
“TouchDesigner is a visual development platform that equips you with the tools you need to create stunning realtime projects and rich user experiences. Whether you’re creating interactive media systems, architectural projections, live music visuals, or rapid-prototyping your latest ideas, TouchDesigner is the platform that can do it all.”


Video courtesy of Neurotypique



The Cyril programming language is designed for fast prototyping of visualisations and live coding visuals.

“node based audio / visual composition”

Creative Coding (Non Live)

HackadayU Creative Code with Casey Hunt (YouTube)

“Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.”

“This is a collection of processing.org classes that performs heavy lifting tasks while using a minimal amount of code writing”
This site is really weird? It seems to be emedding vimeo videos of static images, regardless, still worth checking out

“p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else!” — Processing can run P5.js scripts, you can also live code p5.js with some VSCode extensions as mentioned above

“Three.js is a lightweight cross-browser JavaScript library/API used to create and display animated 3D computer graphics on a Web browser. Three.js scripts may be used in conjunction with the HTML5 canvas element, SVG or WebGL.”

“Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas”

“a JavaScript library for programming graphic design systems with SVG in both the browser or node.js”
Move your mouse over the image on the homepage

“a small (<9kB gzipped) graphics library that lets you draw in a sketchy, hand-drawn-like, style.”
roughjs example

“Structure Synth is a cross-platform application for generating 3D structures by specifying a design grammar”

openFrameworks is an open source C++ toolkit for creative coding.

“In short, OPENRNDR is a tool to create tools. It is an open source framework for creative coding, written in Kotlin for the Java VM that simplifies writing real-time interactive software”
pleanty of examples on the site

“Cinder is a free and open source library for professional-quality creative coding in C++.”
pleanty of examples on the site |

“Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes.”
creative commons icon Agneya by thijs

a creative coding frame work for Rust, you may want to look at the work by MacTuitui (Twitter)

Another creative coding framework for Rust
curtain by turnage, 2020

A Rust library for describing 3D meshes with simple composable rules.

1
2
3
4
5
6
7
8
rule![
    tf![
        Tf::saturation(0.8),
        Tf::hue(160.0),
        Replicate::n(36, vec![Tf::rz(10.0), Tf::ty(0.1)]),
        Replicate::n(36, vec![Tf::ry(10.0), Tf::tz(1.2), Tf::hue(3.4)]),
    ] => cube()
]

is all that’s needed to generate this shape:




You can make gifs with shaders (glsl) and Javascript (either with raw canvas or with the coder-friendly p5.js library).

“Shaderview is an app for creating visuals using OpenGl Shaders and it uses OSC messages to communicate changes in state. For example when live coding music you could send an OSC message when the drum sample played and in turn your shader could do something with that signal, like flashing of white.”

Data Visulization
“NodeBox makes it easy to do data visualisations, generative design and complex production challenges.”

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS.
The homepage has a ton of live demos

a hybrid graphics editor / programming environment for creating interactive diagrams

Vega-Lite is a high-level grammar of interactive graphics. It provides a concise, declarative JSON syntax to create an expressive range of visualizations for data analysis and presentation.

Node based, open source VFX Editor with powerfull interface and a ready to use libGDX runtime.

Scripting/Generative tools IN other tools

procedural modeling node-based system for Blender

“A script is a series of commands that tells an application to perform a series of operations. You can use scripts in most Adobe applications to automate repetitive tasks, perform complex calculations, and even use some functionality not directly exposed through the graphical user interface.”

Fills the layer with a pattern specified through Disney Animation’s SeExpr expression language. - note that this is for FILL layers in krita
Kritas SeExpr

Super resolution, frame interpolation, and other effects


“Image Super-Resolution for Anime-style art using Deep Convolutional Neural Networks. And it supports photo.” - Works well on most things, not just anime art. The link is for a site where you can try it out online, but if you need to run it a lot you should probably run it locally. If you do I recomend this version is it’s compatible with basically any modern GPU. You may also want to check out Waifu2x-Extension-GUI

Dain-App is a free app that let you take any form of media like movies, stop-motion, anime, cartoons, sprites, etc and interpolate new frames, generating a bigger frame-rate from the original file. NOTE: drain-app only runs on systems with an NVDIA GPU

“[…]. Based on this observation, we design an algorithm to both estimate the density of strokes in a digital painting using color geometry, and then generate novel lighting effects by mimicking artists' coarse-to-fine workflow.”
artwork traced by ToS2P from an artwork by David Revoy under CC-BY license, www.peppercarrot.com

Pixatool (15 USD)
convert ‘normal’ art into pixel art

“Picbreeder is a collaborative art application based on an idea called evolutionary art, which is a technique that allows pictures to be bred almost like animals. For example, you can evolve a butterfly into a bat by selecting parents that look like bats”

Geon FX (10 USD)
Particle effects generator/editor

For Plotters

See the 3D Printing & CNC page from the Engineering section of OpGuides for more resources


vpype - aims to be the one-stop-shop, Swiss Army knife for producing plotter-ready vector graphics. Here are, for illustration, a few examples of what it can do:


Other Resources

Sound Design

There’s a LOT more tools listed in the music chapters, but there’s some more ‘for animation’ tools here:

rfxgen

Resources to learn Creative Coding

Noise in Creative Coding (Varun Vachhar)

As an aside, Simplex Noise is technically patented until Jan 8, 2022 (which is really fucking stupid)

Making Perlin Planets (vinaybhaip.com)

Some inspiration

Python + Quantum Research = Art + Saving 1000s hours of CPU time (Reddit)

Generative Constellations (Reddit)

Indra’s Net (Reddit)

Seriously, the three above pieces are some of my absolute favorite pieces. I think about them a lot.

Grant Custer’s Feed + Constraint.systems

Shadertoy

generated.space

Echo/printf to write images in 5 LoC with zero libraries or headers (Vidar’s Blog)

10 innovative creative coding examples that are redefining programming (Shaping Design - Editor X)

META: Hacker News Submission on this page, with a bit of discussion


If you would like to support my development of OpGuides, please consider supporting me on Patreon or dropping me some spare change on Venmo @vegadeftwing - every little bit helps ❤️