I've been playing a little bit with cellular/Voronoi type functions as the foundation for fractal basis functions, as described by Worley in Texturing and Modeling: A Procedural Approach
in hopes of cobbling together something a little more powerful than what I have. No dice, really; I had pretty good cellular functions before, just slow as hell. I was hoping Worley's would be faster, but shoehorn a cellular function into a multi-octave fractal and you are talking minutes]/i] to calculate a vertex patch 512x512 in size. You can get some pretty interesting results, but Great Scott is it ever slow, even using a distance function that uses d^2 and eliminates sqrt. The results can be pretty neat:
I'm going to nose around a bit and see how I can speed things up. The above image took close to 2 minutes to build, and only featured 4 octaves.
I've finished tidying up the parameterization of the various noise function types and interpolation types for the generators. I eliminated 1D Simplex noise (indistinguishable from 1D gradient noise), and implemented an interpolation function for no interpolation, just for giggles and kicks. Tonight I'm going to fix naming conventions and namespaces.