载入中...
搜索中...
未找到
TerrainLegacyHydraulic.cpp
浏览该文件的文档.
7Result<int> applyTerrainLegacyHydraulic(Heightmap& heights, Heightmap& sediment, const Heightmap& hardness,
11 return validRaster(map) && map.getWidth() == heights.getWidth() && map.getHeight() == heights.getHeight();
14 if (&heights == &sediment || !validRaster(heights) || !sameShape(sediment) || !sameShape(hardness) ||
20 return invalid("terrain.legacyHydraulic: distinct matching rasters, normalized heights/hardness, "
37 if (!std::isfinite(water[i])) return invalid("terrain.legacyHydraulic: water exceeds finite range");
48 const double difference = water[i] + terrain[i] - water[neighbor[direction]] - terrain[neighbor[direction]];
71 if (!std::isfinite(nextWater[i])) return invalid("terrain.legacyHydraulic: water exceeds finite range");
83 const double moved = water[i] * totalDrop * settings.sedimentDissolveRate * (1.0 - hardnessInput[i]);
95 if (!isRepresentable(nextSediment)) return invalid("terrain.legacyHydraulic: sediment exceeds finite float range");
In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from ...
Definition Heightmap.h:21
Definition EvpackPointGraphLoader.h:12
EVENGINE_API_DOMAINS Result< int > applyTerrainLegacyHydraulic(Heightmap &heights, Heightmap &sediment, const Heightmap &hardness, const Heightmap &rain, const TerrainLegacyHydraulicSettings &settings)
Apply Pcg HeightMap.ErodeHydraulic's rain, four-way water and sediment loop atomically.
Definition TerrainLegacyHydraulic.cpp:7
Controls Pcg HeightMap.ErodeHydraulic's legacy CPU erosion loop.
Definition TerrainErosion.h:20