public PlanetShapeGenerator(PlanetShape settings) { shapeSettings = settings; noiseFilters = new NoiseFilter[settings.noiseLayers.Length]; for (int i = 0; i < noiseFilters.Length; ++i) { noiseFilters[i] = new NoiseFilter(settings.noiseLayers[i].noiseSettings); } }
private static float SurfaceAltitude(uint seed, float angle, PlanetShape shape) { float r = shape.radius * shape.deformationFreq / 100; Unity.Mathematics.Random generator = new Unity.Mathematics.Random(seed); float2 viewPoint = float2(generator.NextFloat(0, 999999), generator.NextFloat(0, 999999)); float2 st = viewPoint + float2(cos(angle) * r, sin(angle) * r); // different surface generation noise to be done * float noise1 = Noise.SampleNoise(shape.type, st); float noise2 = Noise.SampleNoise(shape.type, st + float2(100, 100)); float noise = (noise1 * noise2); noise *= noise; return(shape.radius + shape.deformation * noise); }
/// <summary> /// Wird aufgerufen sobald eine Taste gedrückt wurde. /// </summary> public override void KeyPressed(System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode == Keys.L && !e.Control) { Enabled = !Enabled; Visible = !Visible; } if (e.KeyCode == Keys.K && !e.Control) { showTrace = !showTrace; } if (e.KeyCode == Keys.K && e.Control) { showSun = !showSun; } if (e.KeyCode == Keys.L && e.Control) { Shape = (PlanetShape)(((int)Shape + 1) % 2); } }