载入中...
搜索中...
未找到
TerrainDetailPlacement.cpp
浏览该文件的文档.
21 const uint64_t key = uint64_t(x) * UINT64_C(0x9e3779b185ebca87) ^ uint64_t(z) * UINT64_C(0xc2b2ae3d27d4eb4f) ^
37Result<int> exportTerrainDetailPoints(PointSet& output, const TerrainDetailLayer& layer, const Heightmap& heights,
40 if (layer.getWidth() <= 0 || layer.getHeight() <= 0 || !validRaster(heights) || !std::isfinite(s.originX) ||
41 !std::isfinite(s.originZ) || !std::isfinite(s.width) || s.width <= 0 || !std::isfinite(s.depth) ||
42 s.depth <= 0 || !std::isfinite(s.heightScale) || !std::isfinite(s.minimumScale) || s.minimumScale <= 0 ||
43 !std::isfinite(s.maximumScale) || s.maximumScale < s.minimumScale || !std::isfinite(s.minimumWidth) ||
47 !normalized(s.healthyB) || !normalized(s.healthyA) || !normalized(s.dryR) || !normalized(s.dryG) ||
48 !normalized(s.dryB) || !normalized(s.dryA) || !normalized(s.noiseSpread) || s.namespaceId == 0 ||
50 return invalid("terrain.detailPoints: valid layer, heights, domain, resource and budget required");
56 if (count.value() > s.maxPoints - total) return invalid("terrain.detailPoints: point budget exceeded");
68 p.id = mix(mix(s.namespaceId + UINT64_C(0x9e3779b97f4a7c15)) ^ ((cell << 32) | uint64_t(ordinal + 1)));
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from ...
Definition Heightmap.h:21
Owned integer terrain-detail layer, independent of graphics and resource registries....
Definition TerrainDetailLayer.h:35
Definition EvpackPointGraphLoader.h:12
Result< int > exportTerrainDetailPoints(PointSet &output, const TerrainDetailLayer &layer, const Heightmap &heights, const TerrainDetailPlacementSettings &s)
Expand integer detail counts into the existing attributed PointSet, atomically.
Definition TerrainDetailPlacement.cpp:37
One deterministic sample used by script-first procedural pipelines.
Definition PointSet.h:17
std::uint64_t id
Stable non-zero identity; zero marks legacy or not-yet-assigned data.
Definition PointSet.h:19
Explicit native placement domain and resource for a terrain detail layer.
Definition TerrainDetailPlacement.h:10