// - Update - void Update() { if (Input.GetKeyDown(KeyCode.Space) || (autoUdpate && (noisePerformanceTestLoopTimes != lastNoisePerformanceTestLoopTimes || noiseSource != lastNoiseSource || seed != lastSeed || octaves != lastOctaves || frequency != lastFrequency || amplitude != lastAmplitude || persistance != lastPersistance || lacunarity != lastLacunarity || maxNoiseHeight != lastMaxNoiseHeight || offset != lastOffset || noiseScale != lastNoiseScale || zoom != lastZoom || noiseResolution != lastNoiseResolution || gridSize != lastGridSize || lastUseRenderTextureForDrawingTexture != useRenderTextureForDrawingTexture || side != lastSide || quarter != lastQuarter || enableHeight != lastEnableHeight))) { if (noiseSource != Noise.NoiseSource.GPU_RenderTexture) { DrawNoiseToPlane(); } else { DrawNoiseToPlaneGPURenderTexture(); } //if (lastNoiseResolution != noiseResolution) { if (lastGridSize != gridSize) { SetMeshGrid(gridSize); originalVertices = (Vector3[])mf.mesh.vertices.Clone(); } if (enableHeight) { AddHeightToPlane(); } else { ClearPlaneHeight(); } lastNoisePerformanceTestLoopTimes = noisePerformanceTestLoopTimes; lastNoiseSource = noiseSource; lastSeed = seed; lastOctaves = octaves; lastFrequency = frequency; lastAmplitude = amplitude; lastPersistance = persistance; lastLacunarity = lacunarity; lastMaxNoiseHeight = maxNoiseHeight; lastOffset = offset; lastNoiseScale = noiseScale; lastZoom = zoom; lastNoiseResolution = noiseResolution; lastGridSize = gridSize; lastSide = side; lastQuarter = quarter; lastEnableHeight = enableHeight; lastUseRenderTextureForDrawingTexture = useRenderTextureForDrawingTexture; } }
// - PLANET DATA - public GPUPlanetData(string name, float planetSize, GPUNoiseGenerator.NoiseData ocean, GPUNoiseGenerator.NoiseData plainHills, GPUNoiseGenerator.NoiseData largeMountains, GPUNoiseGenerator.NoiseData mediumDetail, bool hasAtmosphere, Noise.NoiseSource noiseSource) { this.name = name; this.seed = 1; this.planetSize = planetSize; this.radius = planetSize / 2f; this.ocean = ocean; this.plainHills = plainHills; this.largeMountains = largeMountains; this.mediumDetail = mediumDetail; this.hasAtmosphere = hasAtmosphere; this.noiseSource = noiseSource; //int remainder = (int)(planetSize % 500); // TODO: calculate properly //mass = 1 + remainder / 500f; //mass10pow = (int)(planetSize - remainder) / 500; mass = 1; mass10pow = 21; }