internal CellularCache Get(Double x, Double y) { if (!cache2D.IsValid || x != cache2D.X || y != cache2D.Y) { Noise.CellularFunction(x, y, seed, cache2D.F, cache2D.D); cache2D.X = x; cache2D.Y = y; cache2D.IsValid = true; } return cache2D; }