载入中...
搜索中...
未找到
TerrainDetailPlacement.h
浏览该文件的文档.
1#pragma once
2#include <cstdint>
3#include <string>
4#include "common/Result.h"
5namespace eve::procgen {
6class TerrainDetailLayer;
7class Heightmap;
8class PointSet;
11 float originX = 0, originZ = 0, width = 1, depth = 1, heightScale = 1;
12 float minimumScale = 1, maximumScale = 1;
16 float healthyR = 1, healthyG = 1, healthyB = 1, healthyA = 1;
17 float dryR = 1, dryG = 1, dryB = 1, dryA = 1;
19 float noiseSpread = 0.3F;
20 int32_t noiseSeed = 0;
21 uint32_t seed = 1;
22 uint64_t namespaceId = 1;
24 uint64_t densityNamespaceId = 0;
25 int maxPoints = 1000000;
26 std::string asset;
27};
55 PointSet& output, const TerrainDetailLayer& layer, const Heightmap& heights,
57} // namespace eve::procgen
std::string output
#define EVENGINE_API_DOMAINS
Definition Export.h:110
TileLayer * layer
Move-only, checked operation results for the common layer.
TerrainThermalSettings settings
Move-only operation result carrying either a value or Status.
Definition Result.h:155
In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from ...
Definition Heightmap.h:21
Script-friendly collection of attributed 3D samples.
Definition PointSet.h:59
Owned integer terrain-detail layer, independent of graphics and resource registries....
Result< int > exportTerrainDetailPoints(PointSet &output, const TerrainDetailLayer &layer, const Heightmap &heights, const TerrainDetailPlacementSettings &s)
Expand integer detail counts into the existing attributed PointSet, atomically.
Explicit native placement domain and resource for a terrain detail layer.
float noiseSpread
Normalized frequency control for deterministic healthy/dry color patches.
float minimumWidth
Independent horizontal and vertical multipliers, applied after the uniform scale.
uint64_t densityNamespaceId
Density resource layer to export; zero selects the compatibility/default layer.
float healthyR
Linear RGBA endpoints passed to generated points for renderer-side instance tint.