void TerrainGenerator::GenerateChunk(Chunk* chunk) { ChunkHeightMap* heightmapChunk = _getChunk(chunk->GetChunkX(),chunk->GetChunkZ()); if (heightmapChunk != NULL) { _generateChunk(chunk,heightmapChunk); }else { _generateChunkAndHeightMap(chunk); } }
World::World() : perlin(WIDTH*Chunk::WIDTH/PERLINSCALE+0.5, WIDTH*Chunk::WIDTH/PERLINSCALE+0.5) { for(int x=0;x<WIDTH;++x) { for(int z=0;z<WIDTH;++z) { _chunks.emplace_back(new Chunk); _generateChunk(x,z); } } for(auto& chunk:_loadedChunks) { chunk.used = false; } }