The Book of Shaders Good intro to GLSL fragment shaders in general.

Raymarching Distance Fields How does raymarching work? This article has an introduction.

RayMarching 101 Heavily-commented and unobfuscated raymarching examples.

GLSL tools

Fragmentarium Pixel shader playground. Shadertoy on the desktop, except you can also add UI elements (sliders, etc) to adjust uniforms on-the-fly. Really really good. Dive into mandelbulbs, render Droste images, fly through hyperbolic spaces.

Synthclipse GLSL shader prototyping tool based on the Eclipse IDE. Explicitly modeled on Fragmentarium, designed to be a more capable successor.

PolyCube Another flavor of GLSL toy, this uses a C-like “RiceScript” rather than plain GLSL, which has simple automatic typing of variables and other conveniences. A module system for GLSL that lets you #include code from npm. You can use try live at

GPUCaster A one-man personal project to enable fiddling about with GLSL raymarched scenes. Define an isosurface, and it renders it. Idiosyncratic, but interesting.

ShaderShop Interactive GLSL function builder. iq’s Graph Toy is more straightforward, especially if you already have a function you want to draw.

Shaderforth. Tired of writing GLSL shaders? This thing builds a little Forth language that compiles to GLSL. Is this useful? Who knows!

Shadertone Shaders + Sound, in Clojure. Includes a Lispy->GLSL translator.

Art tools

Visions of Chaos Open source application for rendering a vast number of different kinds of generative images. Fractals, attractors, cellular automata, reaction-diffusion, and comes with a large collection of GLSL shaders that render different things.

Structure Synth Grammar-driven generative 3D art software.

Context Free Art Grammar-driven generative 2D art software.

Knot Plot NOT FREE. Plot knots!

Morphogen. Something like Structure Synth, except in Clojure. Open source and written in a literate programming style. Not as easy to install and use, but maybe more powerful? Not sure.

Flexify 2. NOT FREE. Photoshop plugin for reprojecting 360-degree panoramas. Claims to handle 330 separate projections! The results are very pretty, but it costs money.

gSolaar. Print out paper models of custom polyhedra and assemble them.

XenoDream. NOT FREE. Interactive 3D fractal IFS generator/renderer. There’s a trial version.

Chaotica NOT FREE. Generous trial for non-commercial use and small renders. Renders fractals based on the Fractal Flame algorithm.

MagicaVoxel Pretty voxel editor and renderer.

Math Tools and Toys

Desmos Online graphic calculator. Plot stuff, adjust parameters, you know the drill.

Geometry Games by Jeff Weeks. Games and tools for tesselation, visualizing spaces, a four-dimensional maze game, and more. Games on toruses and hyperbolic surfaces!

Jenn3D Software for visualizing higher-dimensional polytopes.


toxiclibs. A framework for Processing (and Java) designed to help out with drawing generative stuff.

SnapPy is based on software by Jeff Weeks. Fun with 3-manifolds, programmed in python. Haven’t played with this yet but looks extremely interesting.

Anamorphoses Generate anamorphic images with arbitrary mirrors! In theory, anyway.


Mesh Modelling

K3DSurf Render isosurfaces and parametric surfaces, in 3 dimensions and higher.

GuIRIT A programmatic modelling system based on surfaces and operations on surfaces.

TopMod. Facilitates topological mesh modelling. Implements a couple dozen subdivision algorithms, and lets you build surfaces by adding handles and extruding bits.

Wings3D Freeform subdivision modeler, written in Erlang(!) Been around forever. See also ManifoldLab, an extension for Wings3D. Allows operations on manifolds, I guess? I haven’t used it yet.

Antiprism Polyhedra modelling software

Surface Evolver “an interactive program for the modelling of liquid surfaces shaped by various forces and constraints”. Looks promising (the webpage is in Comic Sans, how can it not be good?), but I haven’t used it yet.

Other stuff A website devoted to “open and interactive mathematics”. Lots of visuals here, for instance SURFER.

Apparatus Also by Toby Schachman, this a web tool is for building interactive mathematical diagrams.

MathMap Perform arbitrary mathematical transformations in the Gimp image editor. Anything Flexify can do, MathMap might be able to… but you’ll have to find or write the algorithm yourself. Has its own language, so you’ll have to learn that too. Seems nearly abandoned. Here’s a quincuncial projection for it, and some more scripts.

G’MIC It’s a spiritual successor to MathMap and probably the one to use.

Bits and pieces

paniq’s Shader Drawing Library. For drawing 2D stuff in fragment shaders.

Pentasplat projection.

Polychora in Fragmentarium. Pretty, stereographic projections of convex regular polytopes.

Applying mathematics to Escher’s Print Gallery. This website and accompanying paper try to explain how the Print Gallery transformation (“Droste Effect”) works.

Jos Leys' Mathematical Imagery.

Engare A game (in development) based around spirography generative art. Very pretty, very exciting.

Bugman’s art Lots of interesting mathematical art on this personal page.

Fractalforums Covers all aspects of fractals, generative art, etc. The IFS subforum is particularly interesting.