Complex, algorithmically generated spot and stripe patterns that conform and react to topology!

SIGGRAPH paper summary: Generating Textures on Arbitrary Surfaces Using Reaction-Diffusion by Greg Turk 1995

Oh man, this one is so cool! Has it ever been implemented in commercial software? Presents a technique for synthesizing animal spot and stripe patterns on polygon surfaces, plus a second technique for mapping these spots without a UV grid.

Reaction-diffusion is a phenomenon where multiple chemicals diffuse at different rates across a surface, eventually reaching a stable state. Alan Turing hypothesized that this mechanism might account for differentiation and organization of parts in embryonic development, and worked out equations that describe the process. Biologically accurate or not, it can be used to generate complex, distinctive, and convincingly organic spot patterns that conform to any kind of polygon topology. Given a set of rules for a style, tweaking initial seed values creates varied but consistent patterns, and it scales nicely. Input values could also be driven by painted textures, to specify desired results like the wider stripes on the zebra’s rump.

This technique could be used with traditional UV coordinates, but Turk describes a novel (to me, anyway) technique for creating a texture space of arbitrary topology that enables the R-D algorithm to better suit the geometry. In short it creates a reference mesh with regularly-sized triangles, places points randomly on that surface, then uses a relax method, based on repulsion, to evenly spread the points across the surface. It then calculates Voronoi regions for these points, and uses the length of those boundaries to control diffusion in the R-D calculation.

In film production, normally you’d paint these maps, but if you had to generate a large group of similar animals (or maybe just organic fill patterns), this technique would be the ticket. How hard would this be to implement? Is the texture coordinate method useful or has it been surpassed by superior techniques? How practical is it compared to a skilled (or unskilled) painter? The paper states that it takes “several hours” to generate the textures for a 64,000 point model on a DEC3100. Soooo… maybe this is something that can run on an iPad?