void TerrainGenerator::GenerateChunk(Chunk* chunk)
{
	ChunkHeightMap* heightmapChunk = _getChunk(chunk->GetChunkX(),chunk->GetChunkZ());

	if (heightmapChunk != NULL)
	{
		_generateChunk(chunk,heightmapChunk);
	}else
	{
		_generateChunkAndHeightMap(chunk);
	}
}
Exemple #2
0
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;
    }
}