载入中...
搜索中...
未找到
CavePotholes.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
7
8#include <cstdint>
9#include <vector>
10
11namespace eve::procgen {
12
16 CaveHydrologyVec3 tangent{1.f, 0.f, 0.f};
17 CaveHydrologyVec3 lateral{0.f, 0.f, 1.f};
18 float alongRadius = 0.1f;
19 float lateralRadius = 0.1f;
20 float depthRadius = 0.1f;
22 float erosionPotential = 0.f;
23 float gravelSize = 0.5f;
24};
25
28 float erosion = 0.f;
29 float wallAndBedAbrasion = 0.f;
30 float secondaryPothole = 0.f;
31 float downstreamBias = 0.f;
32 int siteIndex = -1;
33};
34
47[[nodiscard]] EVENGINE_API_DOMAINS std::vector<CavePotholeSite> createCavePotholeSites(
48 const std::vector<CaveHydrologyPoint>& trunk, const std::vector<float>& hydraulicWeights,
49 const std::vector<CaveFracture>& fractures, float apertureVariability, float stressControl, float sedimentLoad,
50 float gravelSize, uint32_t seed);
51
59sampleCavePotholeErosion(CaveHydrologyVec3 point, const std::vector<CavePotholeSite>& sites);
60
61} // namespace eve::procgen
#define EVENGINE_API_DOMAINS
Definition Export.h:110
std::uint32_t seed
Definition PointSet.cpp:807
glm::vec3 point
std::vector< CavePotholeSite > createCavePotholeSites(const std::vector< CaveHydrologyPoint > &trunk, const std::vector< float > &hydraulicWeights, const std::vector< CaveFracture > &fractures, float apertureVariability, float stressControl, float sedimentLoad, float gravelSize, uint32_t seed)
Derive eddy-pothole sites from intersections of existing fracture planes along the trunk bed.
CavePotholeSample sampleCavePotholeErosion(CaveHydrologyVec3 point, const std::vector< CavePotholeSite > &sites)
Sample gravel-size-dependent pothole abrasion around derived sites.
CaveHydrologyVec3 public API.
Local primary and compound pothole erosion response.
One fracture-seeded, sediment-driven eddy pothole on a cave-stream bed.