BACK

Painting with code

Project

Abstraction Generative art, hand-crafted in code

  • Date of release: NC
  • Format: Interactive programs
  • Plateforme: editArt.com
  • Code: P5.js + Glsl

Painting with code, exploring sfumato through generative systems

Abstraction reimagines Leonardo’s sfumato through code — turning brushstrokes, light, and randomness into a digital form of painting.


From Renaissance technique to generative painting

The project Abstraction was born from a fascination with Leonardo da Vinci’s sfumato, the subtle technique that softens contours by layering translucent pigments to create smooth, atmospheric transitions. In the digital realm, I wondered if this centuries-old approach could be translated into code — how softness, blur, and light diffusion could emerge from logic, randomness, and algorithms rather than oil and brush.

Leonardo da Vinci Sfumato technique collage
See “sfumato” technique on Principle Gallery
Simulating the brushstroke

The first experiments were built around a single object simulating a digital brushstroke. Each stroke was drawn line by line with a slight, smooth random offset to mimic the fluid imperfection of a hand. Opacity ranged between 1 and 10 (on a scale of 255), producing a translucent layering effect. With thousands of strokes and carefully harmonized color palettes, textures began to appear — complex, organic, and softly blurred.

From brushwork to abstraction

By applying a sfumato-treated square at the center of the composition, the painting naturally evolved into an abstract work, where form emerged from accumulation. This algorithm became the foundation for a generative NFT on EditArt, a platform built around co-creation.

On EditArt, each collector becomes a co-creator, selecting one variation among a grid of randomly generated outcomes. Ten of these digital canvases have been collected, each unique but sharing the same genetic code.

Co-creators : Abstraction #5 Dave Bollinger, Abstraction #7 Chinalski

Color harmonies and palette exploration

Because of its layered nature, the algorithm became a tool for color research — a way to visualize harmony through accumulation. I later modified the program to generate numbered-color palettes randomly, allowing new chromatic dialogues to emerge.

From paint to wave

Curiosity led me to expand the painterly idea through GLSL shaders. The first tests recreated a wave, initially shaped in the spirit of sfumato — soft, organic, almost liquid.

Using a shader displacement map

Further experiments introduced a second texture used as a displacement map, where brightness values distorted the underlying image. This process became the foundation for the generative NFT project Abstraction 2, published on editArt.xyz. The mint was open for 24 hours, generating 45 unique pieces — each shaped by the same shader-driven deformation, revealing organic variations within a strictly coded system.

See all the generated pieces on editArt.xyz
An open process

Abstraction remains an open and evolving project — a living system of code that bridges classical painting and generative aesthetics. Future iterations may push further into shader-based abstraction, new forms of color perception, and the endless interplay between chaos and harmony.

⇱ Back to Projects