Files
voxelotl-engine/Sources/Voxelotl/Generator/WorldGenerator.swift
2024-09-04 01:38:27 +10:00

13 lines
375 B
Swift

protocol WorldGenerator {
mutating func reset(seed: UInt64)
func makeChunk(id: SIMD3<Int>) -> Chunk
}
internal extension RandomProvider where Output == UInt64, Self: RandomSeedable, SeedType == UInt64 {
static func createState(seed value: UInt64) -> (UInt64, UInt64) {
var hash = Self(seed: value)
let state = (hash.next(), hash.next())
return state
}
}