Search this blog

12 June, 2010

More links / Generative Art

I've blogged about generative art a while ago, and I've always followed it, since the early days as I see it somewhat as an evolution of the demoscene.

If you never saw anything about it, I'd suggest a visit to the CreativeApplication's website, or Robert Hodgin Flight404 blog.

I'm still very busy with work, photography and a bit of iPad tests (and trying to build an hackintosh...), so this will be another post full of links, but this time I want to provide an update of the best tools in this field. Some of those are also excellent for rapid prototyping of graphics solutions in general.

If you have more suggestions, please put those in the comments. I know that there are many more programming languages and tools, and I'm sure I've blogged about some of those already in various occasions, but I think I covered the best ones in this update.

- Digital Fabrication - examples

Grasshopper: a free extension for the (excellent) Rhino CAD.
Kangaroo: a physics system for Grasshopper...
Structure Synth: rule-based generative 3d shapes
Groboto: as made famous by the poster of the last Siggraph conference.
Houdini: commercial 3d DCC application, very strong in its procedural components. Free trial.
Softimage ICE: Softimage has a very powerful visual scripting language called ICE, which is extensively used to do generative art. Free trial.
Other companies in the the industrial design/architecture realm offer generative solutions. Some examples are Bentley's GenerativeComponents and ParaCould tools. This conference is pretty cool.
Realflow: commercial fluids and physics solution. A popular free alternative (that I hate due to its retarded interface) is Blender, with its physics and fluid systems.
TopMod: topological modeller, opensource
Shapeways: affordable 3d printing on a lot of different materials
RepRap, MakerBot, Fab@Home: cheap DIY 3d printers

- Procedural/Generative/Interactive Art Languages - examples

Proce55ing: from MIT aesthetic & computation group, it's a very popular java-like language, with lots of extension libraries. Very simple, I use this for prototyping a lot. There are also "ports" in other languages, one of the coolest if the Clojure one (because Clojure is ubercool).
vvvv: visual programming, you connect blocks. Graphics oriented, DX-only and fairly cool. A similar tool but newer and as of now, less popular, is Derivative's TouchDesigner. Someone more demoscenically inclined may want to use werkkzeug too, even if it's quite old now.
Field: very cool python and java mix, realtime programming environment. A bit young but I hope it will become stronger and stronger. OSX only.
Scriptographer: a scripting plugin for adobe Illustrator. It's also the software that drives Hektor, by the same author, which it fairly cool.

- Libraries

Cinder: a library developed by the excellent Barbarian group. Claims to be "professional grade". Works on iOs platforms as well. Abstracts the usual stuff, graphics, IO and so on.
openFrameworks: very similar to Cinder, very popular as well, a bit older. Also works on the various iOs platforms.
CGAL: computational geometry. Not made for generative art, but surely handy, there is also a toolbox that integrates it into scilab. Very comprehensive. Other nice ones are OpenMesh, MeshLab, VCGLib, GeometricTools and GTS.
Physic simulation libraries are also commonly used, but really the possibilities are endless.
OpenCV: the standard Computer Vision library, very popular, there are wrappers for a lot of different languages and tools.

Offline renderers are also among the tools of the trade. There are so many out there, but probably the most interesting for this trading are either the photorealistic path tracers like luxRender that have the virtue of letting you focus on the shapes you're emitting, or the programmable ones, renderman clones like Aqsis and Pixie or raytracers like SunFlow. All those that I listed are opensource too, an added virtue for the generative artist.

- Electronics - examples

I don't know too much about electronics, and if you're like me then you'll love the Arduino platform, and you'll probably need this book and a circuit simulator to play with. You'll also want to scavenge some surplus stores...

- Data banks - examples

Data visualization can be an art, can be profitable, and can even try to tell some truths. But free data access is not so common as you might think. Some useful resources are: WorldBank,, Google Public Data, UNData, GapMinder.

Wolfram Mathematica, not only is a very nice CAS with a lisp-like language, but it also comes with access to a wealth of different data sources.