Ejemplo n.º 1
0
        // Fill the heightmap with the center bump terrain
        private void PinHeadIsland()
        {
            float cx = m_terrainData.SizeX * 0.5f;
            float cy = m_terrainData.SizeY * 0.5f;
            float h;

            for (int x = 0; x < Width; x++)
            {
                for (int y = 0; y < Height; y++)
                {
                    //                   h = (float)TerrainUtil.PerlinNoise2D(x, y, 2, 0.125) * 10;
                    h = 1.0f;
                    float spherFacA = (float)(TerrainUtil.SphericalFactor(x, y, cx, cy, 50) * 0.01d);
                    float spherFacB = (float)(TerrainUtil.SphericalFactor(x, y, cx, cy, 100) * 0.001d);
                    if (h < spherFacA)
                    {
                        h = spherFacA;
                    }
                    if (h < spherFacB)
                    {
                        h = spherFacB;
                    }
                    m_terrainData[x, y] = h;
                }
            }
        }
Ejemplo n.º 2
0
        public TerrainChannel()
        {
            map   = new double[Constants.RegionSize, Constants.RegionSize];
            taint = new bool[Constants.RegionSize / 16, Constants.RegionSize / 16];

            int x;

            for (x = 0; x < Constants.RegionSize; x++)
            {
                int y;
                for (y = 0; y < Constants.RegionSize; y++)
                {
                    map[x, y] = TerrainUtil.PerlinNoise2D(x, y, 2, 0.125) * 10;
                    double spherFacA = TerrainUtil.SphericalFactor(x, y, Constants.RegionSize / 2.0, Constants.RegionSize / 2.0, 50) * 0.01;
                    double spherFacB = TerrainUtil.SphericalFactor(x, y, Constants.RegionSize / 2.0, Constants.RegionSize / 2.0, 100) * 0.001;
                    if (map[x, y] < spherFacA)
                    {
                        map[x, y] = spherFacA;
                    }
                    if (map[x, y] < spherFacB)
                    {
                        map[x, y] = spherFacB;
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void CreateDefaultTerrain()
        {
            m_map = new short[m_scene.RegionInfo.RegionSizeX * m_scene.RegionInfo.RegionSizeX];
            taint = new bool[m_scene.RegionInfo.RegionSizeX / Constants.TerrainPatchSize, m_scene.RegionInfo.RegionSizeY / Constants.TerrainPatchSize];

            int x;

            for (x = 0; x < m_scene.RegionInfo.RegionSizeX; x++)
            {
                int y;
                for (y = 0; y < m_scene.RegionInfo.RegionSizeY; y++)
                {
                    this[x, y] = TerrainUtil.PerlinNoise2D(x, y, 2, 0.125f) * 10;
                    float spherFacA = TerrainUtil.SphericalFactor(x, y, m_scene.RegionInfo.RegionSizeX / 2, m_scene.RegionInfo.RegionSizeY / 2, 50) * 0.01f;
                    float spherFacB = TerrainUtil.SphericalFactor(x, y, m_scene.RegionInfo.RegionSizeX / 2, m_scene.RegionInfo.RegionSizeY / 2, 100) * 0.001f;
                    if (m_map[y * m_scene.RegionInfo.RegionSizeX + x] < spherFacA)
                    {
                        this[x, y] = spherFacA;
                    }
                    if (m_map[y * m_scene.RegionInfo.RegionSizeX + x] < spherFacB)
                    {
                        this[x, y] = spherFacB;
                    }
                }
            }
        }
Ejemplo n.º 4
0
 // Fill the heightmap with the center bump terrain
 private void PinHeadIsland()
 {
     for (int x = 0; x < Width; x++)
     {
         for (int y = 0; y < Height; y++)
         {
             m_terrainData[x, y] = (float)TerrainUtil.PerlinNoise2D(x, y, 2, 0.125) * 10;
             float spherFacA = (float)(TerrainUtil.SphericalFactor(x, y, m_terrainData.SizeX / 2.0, m_terrainData.SizeY / 2.0, 50) * 0.01d);
             float spherFacB = (float)(TerrainUtil.SphericalFactor(x, y, m_terrainData.SizeX / 2.0, m_terrainData.SizeY / 2.0, 100) * 0.001d);
             if (m_terrainData[x, y] < spherFacA)
             {
                 m_terrainData[x, y] = spherFacA;
             }
             if (m_terrainData[x, y] < spherFacB)
             {
                 m_terrainData[x, y] = spherFacB;
             }
         }
     }
 }
Ejemplo n.º 5
0
        // Fill the heightmap with the center bump terrain
        private void PinHeadIsland()
        {
            float cx = m_terrainData.SizeX * 0.5f;
            float cy = m_terrainData.SizeY * 0.5f;
            float h, b;

            for (int x = 0; x < Width; x++)
            {
                for (int y = 0; y < Height; y++)
                {
                    h = 25 * TerrainUtil.SphericalFactor(x - cx, y - cy, 50);
                    b = 10 * TerrainUtil.SphericalFactor(x - cx, y - cy, 100);
                    if (h < b)
                    {
                        h = b;
                    }
                    m_terrainData[x, y] = h;
                }
            }
        }
        private void PinHeadIsland()
        {
            int x;

            for (x = 0; x < Constants.RegionSize; x++)
            {
                int y;
                for (y = 0; y < Constants.RegionSize; y++)
                {
                    map[x, y] = TerrainUtil.PerlinNoise2D(x, y, 2, 0.125) * 10;
                    double spherFacA = TerrainUtil.SphericalFactor(x, y, Constants.RegionSize / 2.0, Constants.RegionSize / 2.0, 50) * 0.01;
                    double spherFacB = TerrainUtil.SphericalFactor(x, y, Constants.RegionSize / 2.0, Constants.RegionSize / 2.0, 100) * 0.001;
                    if (map[x, y] < spherFacA)
                    {
                        map[x, y] = spherFacA;
                    }
                    if (map[x, y] < spherFacB)
                    {
                        map[x, y] = spherFacB;
                    }
                }
            }
        }