载入中...
搜索中...
未找到
TerrainTerraceRemover.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
4
5namespace eve::procgen {
6class Heightmap;
7
10 float perlinScale = 0.12F;
11 float perlinStrength = 0.0035F;
12 float slopeTerraceThreshold = 0.00119F;
13 float flatThreshold = 0.00091F;
14 float verticalGradientThreshold = 0.00056F;
15 float minimumTerraceThreshold = 0.000275F;
16 float maximumTerraceThreshold = 0.00053F;
17 bool excludeRed = true;
18 bool excludeBlack = false;
19 bool terrainWorkflow = true;
20 int noiseSeed = 1;
21};
22
24enum class TerrainTerraceClass { Black = 0, Red = 1, Green = 2, Blue = 3 };
25
35[[nodiscard]] EVENGINE_API_DOMAINS Result<int> analyzeTerrainTerraces(Heightmap& target, const Heightmap& source,
36 const TerrainTerraceRemovalSettings& settings);
37
48[[nodiscard]] EVENGINE_API_DOMAINS Result<int> removeTerrainTerraces(Heightmap& target, const Heightmap& source,
49 const Heightmap& classification,
50 const TerrainTerraceRemovalSettings& settings);
51}
LogicalId target
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Move-only, checked operation results for the common layer.
TerrainThermalSettings settings
const UnitySourceAsset & source
Move-only operation result carrying either a value or Status.
Definition Result.h:155
TerrainTerraceClass
Numeric values written by analyzeTerrainTerraces, matching the source mask colors.
Result< int > analyzeTerrainTerraces(Heightmap &target, const Heightmap &source, const TerrainTerraceRemovalSettings &s)
Classify a heightmap into Pcg's black/red/green/blue important-detail categories.
Result< int > removeTerrainTerraces(Heightmap &target, const Heightmap &source, const Heightmap &classes, const TerrainTerraceRemovalSettings &s)
Apply Pcg's adaptive smoothing, gradient noise, 3x3 filter, and fixed 5x5 Gaussian blur.
Portable controls for Pcg HeightmapTerraceRemover's analysis and processing pipeline.