public combinedHeightHeat(IMap heightMap, IMap heatMap, worldChunkSettings chunkSettings) { Const black = new Const(-1); Select heightselect = new Select(heightMap.GetCache(), black, heightMap.GetCache()); heightselect.SetBounds(.5, 1, .2); this.combo = new Add(heatMap.GetCache(), heightselect); //Invert invert = new Invert(combo); Noise2D final = new Noise2D(chunkSettings.mapWidth, chunkSettings.mapHeight, combo); final.GeneratePlanar(chunkSettings.left, chunkSettings.right, chunkSettings.top, chunkSettings.bottom, isSeamless: true); combinedCache = new Cache(combo); noiseData = final.GetData(); }
private void fill(worldChunkSettings chunkSettings, heightMapSettings settings) { RidgedMultifractal baseMap = new RidgedMultifractal(); baseMap.OctaveCount = settings.Octaves; baseMap.Frequency = settings.Frequency; baseMap.Lacunarity = settings.Lacunarity; baseMap.Seed = settings.Seed; Perlin layer2 = new Perlin(); layer2.OctaveCount = settings.Octaves; layer2.Frequency = settings.Frequency; layer2.Lacunarity = settings.Lacunarity; layer2.Seed = settings.Seed; Billow controller = new Billow(); controller.Frequency = settings.Frequency; Blend blend = new Blend(baseMap, layer2, controller); Invert invert = new Invert(blend); //makes heightmap more island like Clamp oceanfix = new Clamp(-.7, 1, invert); //prevent ocean floor from being to low //Const black = new Const(-1); // holes in surface at top of mountains //Select holes = new Select(oceanfix, black, oceanfix); //holes.SetBounds(.85, 1, .01); //get highest elevation with little falloff this.heightCache = new Cache(oceanfix); var final = new Noise2D(chunkSettings.mapHeight, chunkSettings.mapWidth, oceanfix); //turbulance = new Turbulence(12, baseMap); final.GeneratePlanar(chunkSettings.left, chunkSettings.right, chunkSettings.top, chunkSettings.bottom, isSeamless: true); //final.GenerateSpherical(1, 3,1, 3); /* * for (int x=0; x<mapWidth; x++) * { * for (int y=0;y<mapHeight;y++) * { * noiseData[x,y] = (float)(baseMap.GetValue(x,0,y)); * } * } */ noiseData = final.GetData(); }
private void fill(worldChunkSettings chunkSettings, moistureMapSettings settings, IMap heightmap) { RidgedMultifractal baseMap = new RidgedMultifractal(); baseMap.OctaveCount = settings.Octaves; baseMap.Frequency = settings.Frequency; baseMap.Lacunarity = settings.Lacunarity; baseMap.Seed = settings.Seed; Turbulence distortion = new Turbulence(.2, baseMap); Add adjustedMoisture = new Add(distortion, heightmap.GetCache()); this.moistureCache = new Cache(adjustedMoisture); Noise2D final = new Noise2D(chunkSettings.mapHeight, chunkSettings.mapWidth, adjustedMoisture); final.GeneratePlanar(chunkSettings.left, chunkSettings.right, chunkSettings.top, chunkSettings.bottom, isSeamless: true); noiseData = final.GetData(); }
private void fill(worldChunkSettings chunkSettings) { var min = chunkSettings.top; var max = chunkSettings.bottom; gradientHack baseMap = new gradientHack(min, max); Turbulence distortion = new Turbulence(.05, baseMap); //Curve lower = new Curve(distortion); //lower.Add(-.6, -.8); //lower.Add(-.2, -.6); //lower.Add(0.0, .2); this.heatCache = new Cache(distortion); Noise2D final = new Noise2D(chunkSettings.mapHeight, chunkSettings.mapWidth, distortion); final.GeneratePlanar(chunkSettings.left, chunkSettings.right, chunkSettings.top, chunkSettings.bottom, isSeamless: true); noiseData = final.GetData(); }
public heatMap(worldChunkSettings chunkSettings) { fill(chunkSettings); }
public heightMap(worldChunkSettings chunkSettings, heightMapSettings settings) { fill(chunkSettings, settings); }
public moistureMap(worldChunkSettings chunkSettings, moistureMapSettings settings, IMap heightmap) { fill(chunkSettings, settings, heightmap); }