View on GitHub


Java2D wrapper + creative coding supporting functions (based on Processing and openFrameworks)

clojure2d Build Status

Clojure2D is a library supporting generative coding or glitching. It’s based on Java2D directly. It’s Clojure only, no ClojureScript version.

ex10 ex21 ex5

ex11 ex16 ex19

ex22 ex23


Refactoring in progress -> towards 0.1.0, check Changelog.


Codox - In progress!


This project is the answer to personal needs to optimize my own workflow for generative or glitch creations. I’ve been producing a lot of Processing code and started to suffer from limitations of working in ‘write sketch and run’ mode. Too much copy&paste between sketches, zillions of folders, zillions of processed images. And one day I fell in love with FP. This code is the answer.

What’s wrong with Processing?

Is it replacement for…

… quil,, clisk, possibly other?

No, rather no. The closest is quil, which is really great library (both Clojure and Clojurescript, great documentation and webpage, functional mode, 3d support etc.). Clojure2d emphasises math, color and pixels operations and adds a lot of ready to use effects/filters (see extra namespaces`).

What’s special in this library then?

In points:

Check out examples and results folders

What’s odd?

It’s kind of personal library which supports my (probably not optimal, not convenient for others) way of creating stuff. There are still plenty of bugs and not idiomatic code. It may be slower than Processing. Eats a lot of memory (Pixels code is generally immutable). Still not stable API and architecture. No tests (yet)


Add following line as a dependency to your project.clj

[clojure2d "0.0.7-SNAPSHOT"]


Since still no tutorials are available, check out prepared examples. All namespaces are described below.

clojure2d.core docs

This is main namespace with functions in three groups:

clojure2d.pixels docs

Pixels type as a representation of channel values of the image plus operations on pixels. Defines also:

clojure2d.color docs


This is namespace for common generative/glitch specific libraries:


All math functions are in fastmath repository.


200+ examples are in separate repository



High priority

Low priority or ideas



How to support

Yes! You can help with this project:

Discuss about it with me on Slack. Or just Pull Request.


Copyright © 2016-2017 GenerateMe Distributed under the MIT Licence