This is a list of tools, resources, sites, and blogs related to Generative Art.

Generative Art Software

General-Purpose Software

General Purpose Software

Watz (created in Processing) Nodebox Eno Henze (Created in vvvv) Created in vvvv

Processing is probably the most used platform for Generative Art. It is an “open source programming language and integrated development environment (IDE) built for the electronic arts and visual design communities”. Java-based. There is also a JavaScript port, Processing.js (with a nice example here: Algorithm Ink).

Nodebox – A Python based alternative to Processing. “NodeBox does less, prettier, in Python. Processing does more, uglier, in Java“. The new version 2.0 is finally available on Windows.

vvvv is “a toolkit for real time video synthesis”. Not only video – vvvv also handles audio and static images quite well (see Eno Henze: Reality Foam. for a beautiful example).

PureData a “real-time graphical dataflow programming environment for audio, video, and graphical processing.”

SourceBinder is a node based visual development environment for Flash 10.

Nodal – Generative Composition Tool (commercial).

Specific Systems

Domain-Specific Software

Context Free Art Structure Synth TopMod 3D GroBoto

Context Free Art – uses Context Free Design Grammars to generate 2D images. It is very polished and easy to get started with. Context Free Art was my own first encounter with Generative Art, and I still think is a wonderful little app.

Structure Synth – my own attempt to extend Context Free Art into three dimensions.

TopMod3D – “is a free, open source, portable, platform independent topological mesh modeling system that allows users to create high genus 2-manifold meshes”.

K3DSurf – 3D surface generator (for a nice example check out this one by Schmiegl).

GroBoto is a commercial IDE for creating structures based on a number of templates. There is a vast number of possible customizations, and the UI is beautiful, with a very fast built-in raytracer.

Arbaro and ngPlant are apps for generating 3D models of trees and flowers. Some nice examples here.

Organomorphic – script for 3DStudio Max for creating natural structures.

Fractals and Math Art

Fractal Software

Incendia Subblue Mandelbulb Subblue Mandelbrot orbit trap

Incendia – is a very promising fractal generator. Especially the 3D fractals are interesting and different from other fractal software. The beta versions are free.

GNU Xaos – fast and free.

Ultra Fractal – is another, very popular, fractal creator. Commercial.

Subblue has some very nice Pixel Bender (GPU accelerated) fractal plugins: Fractal Explorer Plugin – Mandelbrot and Julia sets, including orbit trapping, and a Mandelbulb Plugin (a possible 3D generalization of the Mandelbrot set).

Terragen – Commercial landscape generator.

Electric Sheep – evolves fractal frames using a distributed genetic algorithm inspired approach.

Apophysis – Flame fractals.

Jenn3D for visualizing Coxeter polytopes. Whatever that is, the images are nice.

Live Coding

A nice introduction to Live coding.

SuperCollider – A real time audio synthesis programming language

Impromptu – Realtime programming (Scheme based, OS X only).

Chuck – ” Strongly-timed, Concurrent, and On-the-fly
Audio Programming Language”

Fluxus – “A rapid prototyping, livecoding and playing/learning environment for 3D graphics, sound and games.”. Scheme based.

APIs and Frameworks

Cuda – NVIDIAs API for general-purposes programming on the GPU. The GPU-programming trend will likely be important for Generative Art, since it becomes possible to do things like ray-tracing, exploring 3D fractals, and building very complex systems in real-time.

OpenCL. While CUDA may be the most popular now, OpenCL will without doubt replace it in a year or two, because of the massive support from the industry (NVIDIA is also backing this).

Pixel Bender. Adobe’s take on GPU programming. This is not a general purpose API – it is designed for creating per-pixel (graphic filter) effects, but has some interesting integration with Adobe’s product – for instance it is possible to create Pixel Bender filters which can be executed from Flash.

Qt -general purpose C++ framework (Widgets, Network, String, XML, …). Open source (LGPL/GPL). Strongly recommended.

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

OpenCV – Computer vision library. Originally created by Intel. Powerful and extensive.

Field is “a development environment for experimental code and digital art in the broadest of possible senses”. OS support is not so broad, though: Mac only, I’m afraid.

Raytracers

Raytracers

Tohu77 on Flickr (Made with Structure Synth and Sunflow) Dave Bollinger on Flickr (POV-Ray render) Blender Grasshopper 3dD

Sunflow – Free, Java based raytracer. This one is my personal favorite. It is easy to use, fast (even though it is Java) and has wonderful ambient occlusion. Development stopped a couple of years ago, but hopefully someone will pick it up.

POV-Ray – It has been under development for ages, and development is slow. The current stable release still does not even support multiple cores! Yet it has a lot of powerful features (such as constructive solid geometry).

Blender – I am ambiguous about this one. Surely it is a powerful IDE, but the learning curve is steep, and nothing in the GUI works the way you are used to.

Kerkythea – open source ray tracer / IDE

Of course, there are also lots of commercial raytracers out there (e.g. 3ds max or Maya). For generative purposes one of the more interesting raytracers is Rhino3D, which has a generative module, called Grasshopper3D.

Academia, Books, and Papers.

Generative Art Conference (Milan) – The only academic conference I know of dedicated entirely to Generative Art. The full archive of conference papers is freely available.

EvoMUSART. European event on Evolutionary and Biologically Inspired Music, Sound, Art and Design

Journal of Mathematics and the Arts

City Synthesis Papers by Paul Merrell.

What is Generative Art by Philip Galanter.

Real-Time Rendering – Probably the best book about real-time graphics.

Wolfram: A new kind of science – an incredible detailed exploration and analysis of cellular automata. A word of warning, though: after reading it I felt a bit let down – I don’t think it really is able to live up to the very bold claim in its title. Yet, it is an impressive work of passion. Notice that whole book is available online.

Computational beauty of nature

The Algorithmic Beauty of Plants. Lindenmayers book about L-systems.

Blogs

General Purpose Software

Flight 404 Marius Watz Daniel Piker Subblue

Generator X and Unlekker.net – Marius Watz
Subblue by Tom Beddard.
PostSpectacular by Karsten Schmidt (aka toxi).
Flight 404 – Robert Hodgin
Teeming Void by Mitchell Whitelaw.
Space Symmetry Structure by Daniel Piker.
Dr. Woohoo (Drew Trujillo)
Dataisnature – Paul Prudence (also: Transphormetic)
Processing Blogs
Erik Natzke

Sites

General Purpose Software

Dave Bollinger Inigo Quilez Dreamlines Complexification.net

Iñigo Quílez – amazing 4K demos.
Dave Bollinger
Michael Hansmeyer
Joshua Davis
Alex Dragulescu
Theverymany.net
Complexification.net – Jared Tarbell
Visual Complexity
Solaas Dreamlines
Butterfly – Glen Marshall.
iPhoneart.org
Demoscene Marvels
Digital Pioneers of Computer Art
Paul Bourkes – A vast resource of examples and algorithms for computer graphics.
Screen Space Ambient Occlusion
Jakko Bikkers raytracing tutorial – If you are going to write your own raytracer, this is an excellent starting point.
Computational Photography CS course – some very interesting projects.
Artifical.dk
Vague Terrain
Craig Reynolds – Flocking, Boids
Postmodernism Generator
SCIgen – An automatic CS paper generator
Arauna – Realtime raytracing
San Base – Dynamic painting
Bob – Penrose Tilings generator.
WolfromTones – Music generated by cellular automata.
Jon McCormack – L-Systems, hybrid grammar systems, cellular automata, and graph grammars.
Ars Electronica PrixArs. International Competion for CyberArts. Good link collection to past winners and contestants.
WOWGREAT. Holger Lippmann’s image blog.

Techniques

Many of the computational methods adopted by the Generative Art community are inspired by biology.

Genetic Algorithms – inspired by Darwinian evolution. Use selection to evolve fitter solutions. The big question here is how to define a useful fitness function.
L-Systems. Used by Lindenmayer to describe plant growth.
Boids (Flocking). Simple, local rules can simulate the flocking behaviour of birds and other animals.
Ant Colony Optimization – typically some kind of ‘pheromone’ trail is used to focus the attention to more interesting parts of the search space.
Cellular Automata – very simple systems with local rules, yet complex behaviour may emerge.
Reaction-diffusion systems
Markov chains
Perlin Noise. Natural looking noise.
Biomimicry
Neural Networks are fascinating because of their biological inspired origin. This is (approximately) the way our brain works. They are also very useful as generic regression or classification tools, although I believe there are better data modeling solutions (e.g. Support Vector Regression).
Voronoi diagrams

Other Generative Art link collections

Lab404
Generative Art on Delicious
Philip Galanter’s Generative Art Resources – perhaps the most extensive link collection on the net.
Subblue’s Link collection