Exemplo n.º 1
0
    // - 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;
        }
    }
Exemplo n.º 2
0
    // - 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;
    }