// 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; } } }
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; } } } }
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; } } } }
// 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; } } } }
// 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; } } } }