mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-06-18 00:27:02 +08:00
feat: add world and player tab item
This commit is contained in:
@@ -19,6 +19,7 @@ void PerlinNoise::init() {
|
||||
|
||||
p.insert(p.end(), p.begin(), p.end());
|
||||
is_init = true;
|
||||
m_seed = seed;
|
||||
}
|
||||
|
||||
float PerlinNoise::noise(float x, float y, float z) {
|
||||
@@ -73,4 +74,27 @@ float PerlinNoise::grad(int hash, float x, float y, float z) {
|
||||
return ((h & 1) == 0 ? u : -u) + ((h & 2) == 0 ? v : -v);
|
||||
}
|
||||
|
||||
void PerlinNoise::reload() {
|
||||
if (!is_seed_change) {
|
||||
Logger::warn("Seed Not Change");
|
||||
return;
|
||||
}
|
||||
is_init = false;
|
||||
p.resize(256);
|
||||
std::iota(p.begin(), p.end(), 0);
|
||||
Logger::info("Reload Perlin Noise With Seed {}", m_seed);
|
||||
std::shuffle(p.begin(), p.end(), std::mt19937(m_seed));
|
||||
|
||||
p.insert(p.end(), p.begin(), p.end());
|
||||
is_init = true;
|
||||
is_seed_change = false;
|
||||
}
|
||||
|
||||
const unsigned& PerlinNoise::seed() {
|
||||
return m_seed;
|
||||
}
|
||||
void PerlinNoise::seed(unsigned seed) {
|
||||
m_seed = seed;
|
||||
is_seed_change = true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user