About a year ago I realized that every time I walked out of an art museum, my favorite piece I saw was always whatever late-period Van Gogh landscape they had on display. Something about how the paint strokes themselves were part of the art; yes, a wheat field or some mountains were what was actually “depicted” in the painting, but the strokes themselves flowed together in a way that made them art unto themselves, but at the same time still informing and reacting to the subject at hand.
I became obsessed with this idea, and wanted to try bringing it to the generative art world. The project that would end up becoming Exstasis started in July of 2022 as a (somewhat misguided) attempt to create a moving digital “painting”, where the strokes and the movement would be equally as important as the image they are depicting
Over time I added an effect called “dithering”, which is a tool I had been experimenting with for a while, and had picked up from fellow artist Loackme. Which added a really nice almost impressionistic and distinctly “digital” feeling that I really liked
I tried landscapes, and even pure abstract impressionism, but none of them really seemed to work
Then I tried having the strokes persist instead of being ephemeral, and began to focus on the neat effect of the paint strokes actually painting themselves in
After learning about fractal brownian motion from the incredible Book of Shaders, I decided to slap that on and see what it looked like. I sent a video of it to my girlfriend, and she sent back this image of it halfway through drawing, and we knew we were onto something
First, on an invisible layer, we draw a basic (typically radial) set of shapes, which will be the basis for our coloration.
Next, on the main canvas, a set of individual strokes (or “forms”) are instantiated randomly. Their starting location determines their color, and their path is dictated by a custom flow field. Each form has its own countdown timer - some get bigger as the time goes on, some get smaller. But when that timer goes out the form is complete, the object is removed from the form array, and a new one is instantiated. There is a master countdown timer which terminates the creation of all forms at a set time (randomized for each piece)
Now for the final step: shaders. Bayer 4x4 ordered dithering is used to create this nice pixelated effect. Each curve is endowed with its own set of random numbers, which determines properties of the dither (angle, size, etc.)
Last but not least, a custom Fractal Brownian Motion algorithm is applied to create this strange and fascinating distortion effect. After the forms are finished being drawn the FBM distortion continues indefinitely, allowing the piece to breathe and evolve forever
Colors!
Van Gogh's Fields
Matisse's Morrocans
Shacksbury Rosé
Primary
Another Green World
Mocha
(artbot, artbot)
Cocteau
Autumn
Comfy in Nautica
Panton
Qilin
Ice
Hyperpop
The level of FBM distortion happening (hard to determine I admit)
Mega
High
The margin around the edge of the piece
Normal
Wiiiide
Mini
The thickness and length of the forms being drawn
Regular
Thin
The type of directional field the forms follow as they are drawn (spiral or flow field)
Uzumaki
Van Gogh
The number of frames form painting will last for - ranges from 325 to 625. The lower the frame length, the sparser the composition
lower
higher
So many people to thank: thanks to Loackme for introducing me to dithering, thanks to Inigo Quilez for incredible shader resources, thanks to Patricio Gonzalez Vivo & Jen Lowe for writing the Book of Shaders and introducing me to FBM, thanks to Morgan McGuire for a browser-friendly noisef function, thanks to everyone at Art Blocks for helping me through this journey. And lastly, a million thanks to my partner Liv, for her endless support, encouragement, and color expertise. This project would not exist without her!
The development of Exstasis was primarily soundtracked by the following albums: