We present a technique for creating a smoothly varying sequence of
procedural textures that interpolates between arbitrary input samples
of texture. This texture transformation uses a library of procedural
shaders and selects the correct shaders and associated parameters to
accomplish the task. In general, selecting a procedural texture from a
library, or finding the correct parameters to produce a smooth texture
transition can be complex and time consuming. We propose a strategy
for automating this process. While superficially this problem appears
intractable for both humans and computational systems, its natural
characteristics make a computational solution feasible. We present an
algorithm and experimental results demonstrating this
approach. Transformation between two textures can then be achieved
procedurally, while enforcing perceptual similarity constraints
between adjacent texture frames. We describe a technique for
efficiently sampling the parameter domain of a shader based on a
texture similarity function to create a smooth path through its
texture range. In the case of evolving between several shaders, a
method is described to obtain the best jump-points which can be used
to connect different shaders smoothly in texture space. Several
examples of the technique are shown, and future directions as well as
potential problems are discussed.