domainWarp3 method

({double x, double y, double z}) domainWarp3(
  1. double x,
  2. double y,
  3. double z
)

3D warps the input position using the current domain warp settings.

The reference implementation mutates its arguments in place; here the warped position is returned. Feed it into getNoise3.

Implementation

({double x, double y, double z}) domainWarp3(double x, double y, double z) {
  switch (domainWarpFractalType) {
    case DomainWarpFractalType.none:
      return _domainWarpSingle3(x, y, z);
    case DomainWarpFractalType.progressive:
      return _domainWarpFractalProgressive3(x, y, z);
    case DomainWarpFractalType.independent:
      return _domainWarpFractalIndependent3(x, y, z);
  }
}