So this time, I wanted to try a hybrid approach. The plan was:
- Use Reunions to draw the veins.
- Distribute points evenly on the remaining screen.
- Use something Voronoi-flavored to turn it into cells.
Take One: On the GPU
The path of least resistance was to do this in shaders. First, I created a distance map from the veins, so that I wouldn't place cells right on top of the veins. Then I upscale a tiled blue noise texture I usually use for dithering, which roughly places points. Because the blue noise texture is tiled, it can have ugly repetitions, but I thought I'd cross that road when I got there: sometimes it turns out you have enough variation that you don't notice!
But actually, about that distance map. A distance map takes a texture of "seed points" and plots the distance from all of your pixel to the nearest seed point. It's useful for a things like creating nice smooth outlines.