src/perlin/private/common

Shared methods for generating noise

Procs

proc calculatePerm(noise: Noise; coords: AnyPoint[int]): int
Calculates the permutation for a set of coordinates. This winds up looking like: perm[ix0 + perm[iy0 + perm[iz0]]]
proc grad(hash: int; p: Point2D[float]): float {.inline, ...raises: [], tags: [],
    forbids: [].}
proc grad(hash: int; p: Point3D[float]): float {.inline, ...raises: [], tags: [],
    forbids: [].}
proc grad(hash: int; p: Point4D[float]): float {.inline, ...raises: [], tags: [],
    forbids: [].}
proc hash(self: Noise; unit: AnyPoint[int]; u: AnyPoint[int];
          pos: AnyPoint[float]): float {.inline.}
Generates the hash coordinate for a point
proc hash(self: Noise; unit: AnyPoint[int]; u: AnyPoint[int];
          pos: AnyPoint[float]; g: AnyPoint): float {.inline.}
Generates the hash coordinate for a point

Templates

template mapIt[S: static int; T](point: Point[S, T]; apply: untyped): untyped
Applies a callback to all the values in a point
template zipIt[S: static int; A, B](pointA: Point[S, A]; pointB: Point[S, B];
                                    apply: untyped): untyped