From 0289992e4bace5a4395605bef21e62d406c9d612 Mon Sep 17 00:00:00 2001 From: a dinosaur Date: Fri, 6 Sep 2024 01:38:57 +1000 Subject: [PATCH] gelato world has reiceve updat e --- .../Generator/StandardWorldGenerator.swift | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/Sources/Voxelotl/Generator/StandardWorldGenerator.swift b/Sources/Voxelotl/Generator/StandardWorldGenerator.swift index 53b7ba1..b9d72f4 100644 --- a/Sources/Voxelotl/Generator/StandardWorldGenerator.swift +++ b/Sources/Voxelotl/Generator/StandardWorldGenerator.swift @@ -1,20 +1,14 @@ struct StandardWorldGenerator: WorldGenerator { private var heightNoise: LayeredNoiseAlt>! - private var terrainNoise: LayeredNoise>! - private var colorNoise: LayeredNoise>! + private var terrainNoise: LayeredNoise>! + private var colorNoise: LayeredNoiseAlt>! public mutating func reset(seed: UInt64) { - var random: any RandomProvider - let initialState = SplitMix64.createState(seed: seed) -#if true - random = Xoroshiro128PlusPlus(state: initialState) -#else - random = PCG32Random(seed: initialState) -#endif + var random = PCG32Random(seed: SplitMix64.createState(seed: seed)) - self.heightNoise = .init(random: &random, octaves: 200, frequency: 0.0002, amplitude: 2) - self.terrainNoise = .init(random: &random, octaves: 10, frequency: 0.01, amplitude: 0.337) - self.colorNoise = .init(random: &random, octaves: 150, frequency: 0.00366, amplitude: 2) + self.heightNoise = .init(random: &random, octaves: 200, frequency: 0.0002, amplitude: 2.000) + self.terrainNoise = .init(random: &random, octaves: 10, frequency: 0.01, amplitude: 0.437) + self.colorNoise = .init(random: &random, octaves: 150, frequency: 0.0006667, amplitude: 17.000) } public func makeChunk(id chunkID: SIMD3) -> Chunk { @@ -27,11 +21,11 @@ struct StandardWorldGenerator: WorldGenerator { let ipos = SIMD3(x, y, z) let fpos = SIMD3(chunkOrigin &+ ipos) let height = fpos.y / 64.0 + height - let value = height + self.terrainNoise.get(fpos) + let value = height + self.terrainNoise.get(fpos * SIMD3(1, 2, 1)) let block: BlockType = if value < 0 { .solid(.init( hue: Float(180 + self.colorNoise.get(fpos) * 180), - saturation: 0.7, value: 0.9).linear) + saturation: 0.47, value: 0.9).linear) } else { .air }