Beispiel #1
0
        public void UpdateWaterMap()
        {
            outputBiome.UpdateSamplerValue(BiomeSamplerName.terrainHeight, terrainNoise);

            outputBiome.waterLevel = waterLevel;

            if (terrainNoise.type == SamplerType.Sampler2D)
            {
                //terrain mapping
                var mappedTerrain = PWNoiseFunctions.Map(terrainNoise as Sampler2D, mapMin, mapMax, true);
                outputBiome.UpdateSamplerValue(BiomeSamplerName.terrainHeight, mappedTerrain);

                //waterHeight evaluation
                Sampler2D waterHeight = new Sampler2D(terrainNoise.size, terrainNoise.step);
                waterHeight.min = waterLevel - mappedTerrain.max;
                waterHeight.max = waterLevel;
                mappedTerrain.Foreach((x, y, val) => {
                    waterHeight[x, y] = waterLevel - val;
                });
                outputBiome.UpdateSamplerValue(BiomeSamplerName.waterHeight, waterHeight);
            }
            else
            {
                ;                 //TODO
            }
        }
Beispiel #2
0
        public override void OnNodeProcess()
        {
            if (outputBiome == null || forceReload)
            {
                CreateNewBiome();
            }

            if (needUpdate || reloadRequested || biomeReloadRequested)
            {
                outputBiome.terrain   = terrainNoise as Sampler2D;
                outputBiome.terrain3D = terrainNoise as Sampler3D;

                outputBiome.waterLevel = waterLevel;

                if (terrainNoise != null && terrainNoise.type == SamplerType.Sampler2D)
                {
                    //terrain mapping
                    outputBiome.terrain = PWNoiseFunctions.Map(terrainNoise as Sampler2D, mapMin, mapMax, true);

                    //waterHeight evaluation
                    outputBiome.waterHeight     = new Sampler2D(terrainNoise.size, terrainNoise.step);
                    outputBiome.waterHeight.min = mapMin;
                    outputBiome.waterHeight.max = mapMax;
                    outputBiome.terrain.Foreach((x, y, val) => {
                        outputBiome.waterHeight[x, y] = waterLevel - val;
                    });
                }
                else
                {
                    ;                     //TODO
                }
            }
        }
Beispiel #3
0
        public override void OnNodeProcess()
        {
            outputBiome.Reset();

            if (terrain != null && terrain.type == SamplerType.Sampler2D)
            {
                //terrain mapping
                outputBiome.UpdateSamplerValue(BiomeSamplerName.terrainHeight, PWNoiseFunctions.Map(terrain as Sampler2D, mapMin, mapMax, true));
            }
        }
Beispiel #4
0
        public override void OnNodeProcess()
        {
            if (outputBiome == null || forceReload)
            {
                CreateNewBiome();
            }

            if (needUpdate || reloadRequested)
            {
                if (terrain != null && terrain.type == SamplerType.Sampler2D)
                {
                    //terrain mapping
                    outputBiome.terrain = PWNoiseFunctions.Map(terrain as Sampler2D, mapMin, mapMax, true);
                }
            }
        }