载入中...
搜索中...
未找到
TerrainProbePlacement.h
浏览该文件的文档.
1#pragma once
2#include <cstdint>
3#include <string>
4#include <vector>
5#include "common/Result.h"
7namespace eve::procgen {
8class Heightmap;
9class PointSet;
10struct TerrainStampSettings;
12enum class TerrainProbeType : std::uint8_t { Reflection, Light };
14enum class TerrainProbeOperationMode : std::uint8_t { Add, Replace, Remove };
17 std::string name;
19 float originX = 0, originZ = 0, width = 1, depth = 1, heightScale = 1;
20 float spacing = 10, jitterPercent = 0.5F, minimumFitness = 0.5F;
21 bool seaLevelActive = false;
22 float seaLevel = 0, reflectionOffset = 1, lightOffset = 2.5F;
25 std::int32_t seed = 1;
26 std::uint64_t namespaceId = 1;
27 int maxPoints = 1000000;
28};
40 const Heightmap& heights,
42
45 std::string name;
46 PointSet* probes = nullptr;
47 const Heightmap* heights = nullptr;
48 double originX = 0, originZ = 0, width = 1, depth = 1;
50 bool worldMap = false;
51};
52
60 const std::vector<TerrainProbeTile>& tiles, const Heightmap& operationFitness,
61 const TerrainProbePlacementSettings& settings, const TerrainStampSettings& operationSettings,
62 TerrainProbeOperationMode mode, bool worldMapOperation = false,
63 const std::vector<std::string>& validTerrainNames = {});
64} // namespace eve::procgen
std::string output
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Move-only, checked operation results for the common layer.
TerrainThermalSettings settings
std::vector< WfcTile > tiles
Definition WfcSimple.cpp:22
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
TerrainProbeOperationMode
Mutation performed by a multi-terrain probe rule.
Result< int > exportTerrainProbePoints(PointSet &output, const Heightmap &fitness, const Heightmap &heights, const TerrainProbePlacementSettings &s)
Export Pcg ReflectionProbe or LightProbe placements into an owned attributed PointSet.
TerrainProbeType
Pcg probe resource kind.
Result< TerrainMultiTileReport > applyTerrainProbesMultiTile(const std::vector< TerrainProbeTile > &tiles, const Heightmap &fitness, const TerrainProbePlacementSettings &s, const TerrainStampSettings &operation, TerrainProbeOperationMode mode, bool worldMapOperation, const std::vector< std::string > &validNames)
Apply one Pcg probe rule over mapped terrain tiles as one atomic transaction.
Deterministic value settings for Pcg SetProbes terrain scanning.
One exclusively borrowed terrain probe owner and immutable height source.
Value configuration for a rectangular stamp in world X/Z coordinates.