github.com/jphsd/texture (go): Package texture contains functions that can be combined to create textures.  Three types of texture field are supported, value fields which return a value in the range [-1,1]; vector fields that typically return a triplet of values; and color fields which return a Color from the standard color package.  All fields provide an Eval2(x, y float64) function which takes any x and y and returns either a value, vector or color. If a type doesn't support the entire 2D plane, then it must return 0, {0, ..., 0}, or color.Black for values of x and y not supported.  1D Generators (have a wavelength, center offset, phase, angle):  1D Random/Multiple wavelength versions of the above  2D Generators:  1D Filters map [-1,1] to [-1,1] (with A, B and C):  2D Combiners mix two or more source fields (rescaled to fit):  2D Other:  Converters:  Generators available from other contributors:
Keywords: bryce-3d|pcg|pcgen|procedural-generation|texture|texture-synthesis