Jonas Olesen's Code Portfolio

Procedural Paint Strokes

Hobby Project

Inspired by Arcane I wanted to explore the painterly direction of stylized surfacing. stillExample

NOTE: Base character from Blender Studios

The tool is based on a (Blender) Geometry Nodes setup that distributes “Brush Particles” using a give flowmap. Those particles are then exported as a pointcloud and read by a custom C++/OpenGL program. particles

That program then fills the output texture with those brush strokes using the supplied input textures. particleApply

The brush stroke geometry can also be used to generate a normal map:

More Pictures

Im quite happy with the result already, although it’s currently still unclear to me how to best scale this to larger assets without ruining the texel density, as its using unique texture sets at the moment.

The code is private for now, as it is relatively messy, and im planning on porting it inside my (currently still WIP) Vulkan renderer before I continue experimenting with this.