The automatic synthesis of procedural textures for 3D surfaces using genetic programming is investigated. Genetic algorithms employ a search strategy inspired by Darwinian natural evolution. Genetic programming uses genetic algorithms on tree structures, which are interpretable as computer programs or mathematical formulae. We define a texture generation language in the genetic programming system, which is then used to evolve textures having particular characteristics of interest. The texture generation language used here includes operators useful for texture creation, for example, mathematical operators, colour functions and noise functions. In order to be practical for 3D model rendering, the language includes primitives that access surface information for the point being rendered, such as coordinates values, normal vectors, and surface gradients. A variety of experiments successfully generated procedural textures that displayed visual characteristics similar to the target textures ...
Adam Hewgill, Brian J. Ross