A major challenge in evolutionary computation is to find the right level of abstraction of biological development to capture its essential properties without introducing unnecessary inefficiencies. In this paper, a novel abstraction of natural development, called Compositional Pattern Producing Networks (CPPNs), is proposed. Unlike most computational abstractions of natural development, CPPNs do not include a developmental phase, differentiating them from developmental encodings. Instead of development, CPPNs employ compositions of functions derived from gradient patterns present in developing natural organisms. In this paper, a variant of the NeuroEvolution of Augmenting Topologies (NEAT) method, called CPPN-NEAT, evolves increasingly complex CPPNs, producing patterns with strikingly natural characteristics.