载入中...
搜索中...
未找到
TerrainSampler.cpp
浏览该文件的文档.
22void TerrainSampler::setLacunarity(float lacunarity) { lacunarity_ = std::max(0.1f, lacunarity); }
32void TerrainSampler::setContinent(float continent) { continent_ = std::clamp(continent, 0.f, 1.f); }
36void TerrainSampler::setCoastSoftness(float softness) { coastSoft_ = std::clamp(softness, 0.02f, 0.4f); }
Generation parameters. Algorithm-specific keys live in values as strings (no overloads; typed setters...
Definition Params.h:13
float getFloat(const std::string &key, float defaultValue) const
Definition Params.cpp:32
int getInt(const std::string &key, int defaultValue) const
Definition Params.cpp:23
Deterministic terrain height sampling (Red Blob Games / Perlin fBm recipe).
Definition TerrainSampler.h:27
float getContinent() const
Definition TerrainSampler.cpp:33
void setOctaves(int octaves)
Definition TerrainSampler.cpp:20
float sample(float x, float y) const
Definition TerrainSampler.cpp:65
float sampleTile(int tileX, int tileY) const
Height at the center of map tile (tileX, tileY).
Definition TerrainSampler.cpp:120
void setLacunarity(float lacunarity)
Definition TerrainSampler.cpp:22
void setFrequency(float frequency)
Definition TerrainSampler.cpp:14
float getFrequency() const
Definition TerrainSampler.cpp:15
float getCoastSoftness() const
Definition TerrainSampler.cpp:37
void setContinent(float continent)
Definition TerrainSampler.cpp:32
void setClamp(bool enabled, float minHeight, float maxHeight)
Definition TerrainSampler.cpp:48
int getWorldWidth() const
Definition TerrainSampler.cpp:42
void setAmplitude(float amplitude)
Definition TerrainSampler.cpp:46
void setScale(float scale)
Cycles per world unit (alias of frequency). Default 1/32.
Definition TerrainSampler.cpp:12
void setCoastSoftness(float softness)
Shore width of the land mask smoothstep. Smaller = cleaner, harder coast.
Definition TerrainSampler.cpp:36
int getWorldHeight() const
Definition TerrainSampler.cpp:43
float getLacunarity() const
Definition TerrainSampler.cpp:23
void setWorldSize(int width, int height)
Definition TerrainSampler.cpp:38
void setExponent(float exponent)
Definition TerrainSampler.cpp:30
static TerrainSampler fromParams(const Params ¶ms)
Definition TerrainSampler.cpp:128
float getAmplitude() const
Definition TerrainSampler.cpp:47
float getWavelength() const
Definition TerrainSampler.cpp:19
std::function< float(float, float)> asFunction() const
Definition TerrainSampler.cpp:124
void setWavelength(float wavelength)
Distance per large oscillation. Sets frequency = 1/wavelength.
Definition TerrainSampler.cpp:16
Definition BuiltinAlgorithms.cpp:13
float fbmPerlin(float x, float y, int octaves=4, float lacunarity=2.f, float gain=0.5f) const
Definition NoiseField.cpp:84
float perlinNoise(float x, float y) const
Classic 2D Perlin gradient noise, remapped to [0, 1].
Definition NoiseField.cpp:46
float ridgedPerlin(float x, float y, int octaves=4, float lacunarity=2.f, float gain=0.5f) const
Definition NoiseField.cpp:113
uint32_t semanticAt(float height) const
Definition TerrainSampler.cpp:159
static TerrainBands fromParams(const Params ¶ms)
Definition TerrainSampler.cpp:168