X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgenerator.cpp;h=dc83b89b7c681a541aef9374595967501592f8f7;hb=7ef94f4e55a0b798eecbcc7166a80b8364b21ea4;hp=43d932cceae421473bc391820370c36dccc1fac7;hpb=f90ec88e6728ce865bcf892c810a36abd90d9001;p=blank.git diff --git a/src/generator.cpp b/src/generator.cpp index 43d932c..dc83b89 100644 --- a/src/generator.cpp +++ b/src/generator.cpp @@ -8,7 +8,7 @@ namespace blank { Generator::Generator(const Config &config) : solidNoise(config.solid_seed) , typeNoise(config.type_seed) -, stretch(config.stretch) +, stretch(1.0f/config.stretch) , solid_threshold(config.solid_threshold) , space(0) , light(0) @@ -25,8 +25,8 @@ void Generator::operator ()(Chunk &chunk) const { for (int y = 0; y < Chunk::Height(); ++y) { for (int x = 0; x < Chunk::Width(); ++x) { Block::Pos block_pos(x, y, z); - glm::vec3 gen_pos = (coords + block_pos) / stretch; - float val = solidNoise(gen_pos); + glm::vec3 gen_pos = (coords + block_pos) * stretch; + float val = OctaveNoise(solidNoise, coords + block_pos, 3, 0.5f, stretch, 2.0f); if (val > solid_threshold) { int type_val = int((typeNoise(gen_pos) + 1.0f) * solids.size()) % solids.size(); chunk.SetBlock(block_pos, Block(solids[type_val]));