TL;DR: A genetic engineering approach is developed that uses the genetic programming paradigm to evolve procedural texture programs of varying size and shape, a hybrid genetic algorithm is used to explore the parameter space of target programs, and a data-flow representation is used for the direct manipulation of program structure and variables.
Abstract: Much of the richness and detail found in computer graphics imagery is the result of the application of texture maps to three-dimensional geometric models. In many cases, the best approach is to generate a texture procedurally. However, the definition of a texture synthesis procedure can be a complex task. In addition to defining a functional algorithm, often a large parameter space must be explored. Techniques based on natural systems are increasingly applied as search procedures in a variety of problems. One such technique, genetic programming, has been used to create procedural texture programs. Under human guidance, both program and parameter space are explored simultaneously. This method, however, has several shortcomings when used alone. In this thesis, a genetic engineering approach is developed. Based on interactive evolution, the genetic programming paradigm is used to evolve procedural texture programs of varying size and shape, a hybrid genetic algorithm is used to explore the parameter space of target programs, and a data-flow representation is used for the direct manipulation of program structure and variables. A prototype texture design tool implementing this approach is described. The effectiveness of this prototype is discussed, and a number of examples are presented showing how it can be used successfully to design a variety of texture synthesis programs.