载入中...
搜索中...
未找到
eve::procgen 命名空间参考

命名空间

namespace  dtlutil
 
namespace  gridgraph
 
namespace  prototype_detail
 
namespace  raster_detail
 
namespace  road
 
namespace  Semantic
 Stable semantic cell ids stored in Grid2D.cells (not tile GIDs).
 
namespace  urban
 

类

struct  ArtifactPart
 One typed, role-named child product inside a composite artifact. 更多...
 
class  ArtifactPublisher
 Coordinates adapter preparation and atomic CPU-store publication. 更多...
 
struct  ArtifactPublishReceipt
 Compatibility receipt retaining procgen ArtifactId at this boundary. 更多...
 
struct  ArtifactSnapshotContext
 Snapshot context supplied by the caller; time and hashing are injected. 更多...
 
class  ArtifactStore
 In-memory owner and publisher for generated artifacts. 更多...
 
class  ArtifactStoreStage
 
class  AttributeTable
 Schema-bearing column store aligned with a PointSet's point rows. 更多...
 
struct  BiomeAssetRule
 One weighted asset entry in a procedural biome layer. 更多...
 
struct  BiomeLayerRule
 One spatially-defined biome layer and its asset table. 更多...
 
class  BiomeRules
 Data-driven biome distribution rules compatible with PointGraph and scene batches. 更多...
 
struct  Bounds
 Axis-aligned bounds in the artifact's declared world coordinate space. 更多...
 
struct  BuildClusterChange
 One cache mutation emitted by an incremental cluster rebuild. 更多...
 
class  BuildKey
 Stable key for deterministic-equivalent generation inputs. 更多...
 
struct  BuildLayerArtifact
 One named build-layer artifact in configured execution order. 更多...
 
class  BuildLayerExecution
 Immutable-by-convention result of one complete build-stack execution. 更多...
 
struct  BuildLayerRegion
 Half-open grid and world-space bounds used for one incremental cluster build. 更多...
 
class  BuildLayerStack
 Ordered, versioned executor for procedural tile and object build layers. 更多...
 
struct  CaveAbrasionInput
 Inputs for sediment-laden flood abrasion of a cave passage. 更多...
 
struct  CaveAbrasionSample
 Near-bed abrasion, sediment cover, and coherent vortex-cell response. 更多...
 
struct  CaveBiogenicCorrosionInput
 CaveBiogenicCorrosionInput public API. 更多...
 
struct  CaveBiogenicCorrosionSample
 CaveBiogenicCorrosionSample public API. 更多...
 
struct  CaveBoundaryClosure
 CaveBoundaryClosure public API. 更多...
 
struct  CaveBreakdownBlock
 CaveBreakdownBlock public API. 更多...
 
struct  CaveBreakdownChamber
 CaveBreakdownChamber public API. 更多...
 
struct  CaveBreakdownEvent
 CaveBreakdownEvent public API. 更多...
 
struct  CaveBreakdownSet
 CaveBreakdownSet public API. 更多...
 
struct  CaveCondensationResult
 CaveCondensationResult public API. 更多...
 
struct  CaveConstrictionScourSample
 Local plunging-flow scour and exit-widening response. 更多...
 
struct  CaveConstrictionScourSite
 One flow-driven constriction-pool-widening sequence derived from passage geometry. 更多...
 
struct  CaveDetachmentResult
 CaveDetachmentResult public API. 更多...
 
struct  CaveDifferentialErosionInput
 CaveDifferentialErosionInput public API. 更多...
 
struct  CaveDifferentialErosionSample
 CaveDifferentialErosionSample public API. 更多...
 
struct  CaveFacetInput
 CaveFacetInput public API. 更多...
 
struct  CaveFacetSample
 CaveFacetSample public API. 更多...
 
struct  CaveFieldPoint
 CaveFieldPoint public API. 更多...
 
struct  CaveFracture
 One deterministic structural fracture plane in normalized cave space. 更多...
 
struct  CaveFractureChannelizationInput
 Inputs for aperture-driven reactive channelization within a cave fracture network. 更多...
 
struct  CaveFractureChannelizationSample
 Observable local state of aperture-flow-dissolution feedback. 更多...
 
struct  CaveFractureInput
 Inputs for heterogeneous, stress-controlled fracture dissolution. 更多...
 
struct  CaveFractureSample
 Observable local state of a sampled dissolving fracture. 更多...
 
struct  CaveHydrologyBranch
 CaveHydrologyBranch public API. 更多...
 
struct  CaveHydrologyPoint
 CaveHydrologyPoint public API. 更多...
 
struct  CaveHydrologyVec3
 CaveHydrologyVec3 public API. 更多...
 
struct  CaveHydrologyWeights
 CaveHydrologyWeights public API. 更多...
 
struct  CaveKarrenInput
 Inputs for fracture-guided dissolution grooves on an exposed cave-stream bed. 更多...
 
struct  CaveKarrenSample
 Observable stream-bed karren response at one cave-space sample. 更多...
 
struct  CaveKnickpointSample
 Local vertical drilling and headwall-undercut response at a cave-stream knickpoint. 更多...
 
struct  CaveKnickpointSite
 One slope-break-driven cave-stream knickpoint and downstream plunge pool. 更多...
 
struct  CaveLithologyInput
 Inputs for lithology-selective bedding and stylolite dissolution. 更多...
 
struct  CaveLithologySample
 Local bed resistance, stylolite exposure, and selective retreat. 更多...
 
struct  CaveMicrostructureSample
 CaveMicrostructureSample public API. 更多...
 
struct  CaveMineralArmoringInput
 Inputs for secondary-mineral shielding of a dissolving cave wall. 更多...
 
struct  CaveMineralArmoringSample
 Observable local state of a retained secondary-mineral coating. 更多...
 
struct  CaveMixingCorrosionSample
 Local corrosion strength and the contributing mixing-water potential. 更多...
 
struct  CaveMixingSite
 One chemistry-weighted branch-to-trunk mixing site. 更多...
 
struct  CaveObstacleScourSample
 Local upstream horseshoe and downstream wake erosion response. 更多...
 
struct  CaveObstacleScourSite
 One landed breakdown block coupled to a horseshoe-vortex and wake scour footprint. 更多...
 
struct  CavePassageFrame
 CavePassageFrame public API. 更多...
 
struct  CavePluckingInput
 Inputs for flood plucking of fracture-bounded cave-floor blocks. 更多...
 
struct  CavePluckingSample
 Local fracture predisposition, hydraulic threshold, and block removal response. 更多...
 
struct  CavePotholeSample
 Local primary and compound pothole erosion response. 更多...
 
struct  CavePotholeSite
 One fracture-seeded, sediment-driven eddy pothole on a cave-stream bed. 更多...
 
struct  CaveReactivePatchinessResult
 Diagnostics from spatially correlated heterogeneous cave-wall dissolution. 更多...
 
struct  CaveResampledField
 CaveResampledField public API. 更多...
 
struct  CaveRoughnessInput
 Inputs for deterministic, band-limited cave-wall roughness. 更多...
 
struct  CaveRoughnessSample
 Multi-scale wall relief and its separated spatial-frequency bands. 更多...
 
struct  CaveRoughnessTransferInput
 Inputs for rough-wall control of local dissolution mass transfer. 更多...
 
struct  CaveRoughnessTransferSample
 Bounded mass-transfer response of an exposed ridge or sheltered recess. 更多...
 
struct  CaveScallopHistoryInput
 Inputs for a younger, spatially bounded cave-scallop erosion stage. 更多...
 
struct  CaveScallopHistorySample
 Observable combination of preserved older and younger scallop generations. 更多...
 
struct  CaveScallopInput
 CaveScallopInput public API. 更多...
 
struct  CaveScallopSample
 CaveScallopSample public API. 更多...
 
struct  CaveSedimentBar
 CaveSedimentBar public API. 更多...
 
struct  CaveSedimentClast
 CaveSedimentClast public API. 更多...
 
struct  CaveSedimentPathPoint
 CaveSedimentPathPoint public API. 更多...
 
struct  CaveSedimentSet
 CaveSedimentSet public API. 更多...
 
struct  CaveSurfaceAnchor
 CaveSurfaceAnchor public API. 更多...
 
struct  CaveSurfaceEvolutionResult
 CaveSurfaceEvolutionResult public API. 更多...
 
struct  CaveSurfaceReactivityResult
 Diagnostics from geometry-controlled cave-surface dissolution. 更多...
 
struct  CaveVerticalSpan
 CaveVerticalSpan public API. 更多...
 
struct  CaveWaterTableInput
 Inputs for a staged epiphreatic water-table corrosion belt. 更多...
 
struct  CaveWaterTableSample
 Local staged water-table corrosion and the dominant historical level. 更多...
 
struct  CaveWetnessRefinement
 CaveWetnessRefinement public API. 更多...
 
struct  ClimateMap
 ClimateMap public API. 更多...
 
class  CloudField
 Deterministic, seamlessly-tiling, time-animated procedural cloud field. 更多...
 
class  CloudShadow
 Cloud shadows cast onto the ground plane. 更多...
 
struct  Collider
 Backend-neutral collider product, normally a triangle mesh or hull. 更多...
 
struct  ColorRamp
 Piecewise-linear color ramp in t∈[0,1], with optional hard banding. 更多...
 
struct  CompositeArtifact
 A coherent set of products published from one deterministic build. 更多...
 
struct  DecodedTerrainFile
 Height field decoded from a persisted terrain file. 更多...
 
class  DynamicMeshUvPaintSession
 Integrates dynamic-mesh hit mapping with the canonical image UV-paint session. 更多...
 
struct  FluvialErosionSettings
 FluvialErosionSettings public API. 更多...
 
struct  FoliageClusterDesc
 Recipe for one stylized leaf cluster ("foliage card bundle"). 更多...
 
struct  GeneratedArtifact
 Complete immutable-once-published artifact record. 更多...
 
class  GeneratorRegistry
 Registry for executable generators and their reflection metadata. 更多...
 
class  GeometryStroke
 Runtime/editor-neutral session that turns an input trail into mesh geometry. 更多...
 
struct  GeometryStrokePoint
 One input sample owned by a procedural geometry stroke. 更多...
 
class  Grid2D
 Intermediate 2D generation result. cells store semantic ids (see Semantic.h), not tile GIDs — convert via Palette when applying to a TileLayer. 更多...
 
class  GridGraph
 Deterministic data-flow graph for grid generation and explicit grid-to-point composition. 更多...
 
struct  GridObject
 Named rectangle or asset placement emitted by a procedural generator. 更多...
 
struct  GtsColorMapSettings
 GTS terrain colormap controls from GTSColorMapSettings. 更多...
 
struct  GtsDetailNormalSettings
 GTS near/far detail-normal controls from GTSDetailSettings. 更多...
 
struct  GtsGeologicalSettings
 GTS height-axis geological overlay controls from GTSGeoSettings. 更多...
 
class  GtsHeightBlendSet
 Owning ordered GTS layer-height rasters and their alpha-channel transforms. 更多...
 
struct  GtsMacroVariationSettings
 GTS three-scale macro color variation controls from GTSVariationSettings. 更多...
 
struct  GtsMeshSimplificationOptions
 GTS mesh simplification controls supported by MeshBuild streams. 更多...
 
class  GtsMeshSplitResult
 Owned row-major result of a GTS X/Z plane split. 更多...
 
struct  GtsMeshSplitTile
 One row-major GTS mesh cell and the world offset restoring its source position. 更多...
 
class  GtsPackedLayerSet
 Owning ordered GTS packed albedo/height and normal/AO/smoothness texture layers. 更多...
 
struct  GtsPackedLayerSettings
 One GTS packed texture-array layer's planar sampling and material controls. 更多...
 
struct  GtsRainSurfaceSettings
 GTS rain albedo controls copied from GTSRainSettings. 更多...
 
struct  GtsSnowSurfaceSettings
 GTS snow albedo controls copied from GTSSnowSettings. 更多...
 
struct  GtsTerrainExportLodSettings
 Complete native counterpart of one GTSExportTerrainLODSettings record. 更多...
 
class  GtsTerrainExportSettings
 Schema-versioned source/impostor terrain export profile. 更多...
 
struct  GtsTerrainExportWorkflow
 Validated execution plan compiled from top-level Pcg terrain export controls. 更多...
 
struct  GtsTerrainLodAssetEntry
 Deterministic native export identity for one GTS tile LOD mesh. 更多...
 
class  GtsTerrainLodAssetPlan
 Owned script-friendly GTS terrain LOD export manifest. 更多...
 
struct  GtsTerrainLodLevelSettings
 Configuration for one sequential GTS terrain mesh LOD. 更多...
 
class  GtsTerrainLodRuntime
 Transactional runtime owner for one row-major batch of GTS terrain tile renderables. 更多...
 
class  GtsTerrainLodSet
 Owned result of the GTS split-and-sequential-simplify pipeline. 更多...
 
struct  GtsTerrainLodTile
 One split terrain tile and all of its local-space LOD meshes. 更多...
 
class  GtsTerrainMeshSettings
 Schema-versioned native counterpart of GTSMeshSettings. 更多...
 
class  Heightmap
 In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from a TerrainSampler or filled by hand. 更多...
 
struct  HydraulicErosionSettings
 HydraulicErosionSettings public API. 更多...
 
struct  HydrologyMap
 HydrologyMap public API. 更多...
 
struct  ImageData
 Small owning image product; raw pixels stay out of JSON metadata. 更多...
 
class  IncrementalBuildDelta
 Ordered changes required to synchronize a scene-side cluster cache. 更多...
 
class  IncrementalBuildExecutor
 Derived cluster cache that incrementally executes a BuildLayerStack. 更多...
 
class  ITerrainArchiveSource
 Immutable random-access byte source for an EVTR archive. 更多...
 
class  LSystem
 General stochastic bracketed L-system engine. 更多...
 
struct  LSystemResult
 Full result of expanding an L-system grammar and tracing the turtle. 更多...
 
struct  LSystemSegment
 One drawn segment produced by an L-system turtle. 更多...
 
class  MemoryTerrainArchiveSource
 Owning in-memory EVTR source used by compatibility callers and tests. 更多...
 
class  MeshAdhereLive
 Real-time dynamic fusion session: source A sticks to surface B with adjustable params. 更多...
 
class  MeshBuild
 CPU triangle mesh from procedural mesh recipes (e.g. marching cubes). Positions/normals are xyz-packed; uvs are st-packed; indices are triangles. 更多...
 
struct  MeshContactBlendParams
 Parameters for contact-band edge and material fusion. 更多...
 
class  MeshDeformationSession
 Stateful CPU sculpting session with explicit bake, restore, and undo semantics. 更多...
 
class  MeshGraph
 Typed procedural mesh graph composing grid, point and topology domains. 更多...
 
class  MeshMergePlan
 Authoring plan for commit-style static mesh merge. 更多...
 
class  MeshModifierGraph
 Deterministic CPU data-flow graph for procedural mesh deformation and composition. 更多...
 
struct  MeshModifierNodeMetric
 Per-node telemetry captured by the latest successful mesh graph execution. 更多...
 
class  MeshRecipeRegistry
 EVENGINE_API_DOMAINS public API. 更多...
 
struct  MeshSurfaceUv
 UV coordinate resolved from a dynamic-mesh triangle hit. 更多...
 
struct  MeshVertexSelectionCenter
 Value-only center of the current runtime vertex selection. 更多...
 
struct  ModuleAssemblyConstraints
 Configurable limits shared by automatic modular-map generators. 更多...
 
class  ModuleAssemblyPlan
 Deterministic owner of a validated modular assembly plan. 更多...
 
struct  ModuleConnector
 A typed connection exposed on one occupied cell edge. 更多...
 
struct  ModuleDefinition
 Immutable footprint and connection contract for one modular asset. 更多...
 
struct  ModulePlacement
 World-grid placement accepted by a ModuleAssemblyPlan. 更多...
 
struct  NoiseField
 Deterministic value-noise helpers for pixel textures. When periodX/periodY > 0, lattice wraps for seamless tiling. 更多...
 
class  ObjectBuildLayer
 Deterministic TileWorldCreator-style object build layer. 更多...
 
struct  ObjectTransformRange
 Random transform interval used by one object build rule. 更多...
 
class  OutputSpec
 Configurable generation sink. target: "grid" | "tilelayer" | "json" 更多...
 
class  PaletteTable
 Named palette: semantic name -> tile GID. Unmapped semantics become GID 0. 更多...
 
struct  ParamDescriptor
 UI-independent metadata for one procedural recipe parameter. 更多...
 
class  Params
 Owning, typed generation parameters. 更多...
 
struct  PbrParams
 PBR surface defaults for a generated material. Every map in a PBR set is derived from the same displacement field (see TextureRecipeDef). 更多...
 
class  PbrRecipeRegistry
 EVENGINE_API_DOMAINS public API. 更多...
 
struct  PbrTextureSet
 Full metallic-roughness PBR map set. All maps are caller-owned; call destroy() (or delete each pointer) when done. Maps are derived from one shared displacement field so albedo, normal, height, roughness, metallic and AO line up pixel-for-pixel. 更多...
 
class  PcgBiomeController
 Native runtime state for Pcg BiomeController placement and automatic terrain loading bounds. 更多...
 
struct  PcgBiomeLoadingBounds
 Axis-aligned world-space loading bounds owned by one biome controller. 更多...
 
class  PcgFrameRateManager
 Caller-owned deterministic Pcg frame-rate sampling and quality policy. 更多...
 
class  PcgMeshCombinePlan
 Owned ordered input plan for Pcg static MeshCombiner. 更多...
 
class  PcgMeshLodBackup
 Caller-owned transactional backup of one Renderable3D renderer before Pcg LOD replacement. 更多...
 
struct  PcgMeshLodLevel
 One UnityMeshSimplifierPcg LOD level translated to native mesh settings. 更多...
 
class  PcgMeshLodProfile
 Mutable value profile for at most four native renderer LOD levels. 更多...
 
struct  PcgMeshLodRendererState
 Pcg/Unity renderer policies retained per generated mesh LOD. 更多...
 
class  PcgMeshLodSet
 Owned generic mesh LOD output generated with Pcg's independent-per-level policy. 更多...
 
class  PcgMeshTransform
 Row-major affine matrix used by Pcg's root-relative static mesh combination. 更多...
 
class  PcgRuntimeStamper
 Native orchestration of Pcg RuntimeStamper's load, flatten, fit, mask, and stamp sequence. 更多...
 
class  PcgSpawnProgress
 Caller-owned, deterministic progress state corresponding to Pcg SpawnProgressBar. @thread Spawning thread only. 更多...
 
class  PcgTaskQueue
 Deterministic, callback-free port of PcgTask's delayed task queue. 更多...
 
struct  PcgTerrainChange
 One copied terrain identity and its change kind. 更多...
 
class  PcgTerrainPhotoModeAuthority
 Explicit photo-mode owner for runtime terrain quality selection. 更多...
 
struct  PcgTerrainPhotoModeState
 Pcg terrain quality state used by terrain mesh, material and detail render callers. 更多...
 
struct  PcgTerrainQualityPreset
 Terrain quality values selected by Pcg's six-level frame-rate manager. 更多...
 
class  PcgTerrainStreamingAuthority
 Explicit PhotoMode owner for a borrowed terrain streaming cache. @lifetime The target cache must outlive this authority or be detached with setTarget(nullptr, scale). @thread Game thread only; callbacks and scripts are not invoked. 更多...
 
struct  PcgTerrainStreamingState
 Pcg world-space terrain streaming ranges and their chunk-space projection. 更多...
 
class  PcgTerrainWatcher
 Deterministic, caller-driven equivalent of PcgTerrainWatcher's hierarchy diff. 更多...
 
class  PcgTreeManager
 Caller-owned world-space tree index matching Pcg TreeManager's rectangular queries. @ownership Copies positions and prototype indices; PointSet inputs are borrowed only during calls. @thread Caller-thread affine; methods invoke no callbacks and read no hidden time or RNG. 更多...
 
class  PointCompute
 Backend-neutral GPU kernels used by PointGraph with deterministic CPU fallback. 更多...
 
struct  PointDelta
 Transactional identity-based change set between two point snapshots. 更多...
 
class  PointGraph
 EVENGINE_API_DOMAINS public API. 更多...
 
struct  PointGraphColumnInfo
 A data-flow graph for attributed procedural points. 更多...
 
struct  PointGraphInspectReport
 Snapshot of one node output for editor Attribute/Inspect panels. 更多...
 
struct  PointGraphNodeMetric
 Per-node execution information from the most recent graph run. 更多...
 
class  PointSet
 Script-friendly collection of attributed 3D samples. 更多...
 
class  Procgen
 Procedural generation module. Phase A: runtime maps (semantic Grid2D → TileLayer). Phase B: runtime textures (ImageData / Texture). Phase C (partial): mesh recipes (Marching Cubes → MeshBuild / Mesh). Script: procgen <- eve.Procgen(); 更多...
 
struct  ProcgenAttributeVector
 Compact three-component value used by typed procedural metadata. 更多...
 
struct  ProcgenBiomeRulesHandleTag
 Handle domain for module-owned biome rules. 更多...
 
struct  ProcgenCachedStage
 One committed PointSet cache entry for a named script pipeline stage. 更多...
 
class  ProcgenCellRequest
 One immutable runtime-generation cell request returned to script. 更多...
 
struct  ProcgenCloudFieldHandleTag
 Handle domain for module-owned cloud fields. 更多...
 
struct  ProcgenCloudShadowHandleTag
 Handle domain for module-owned cloud shadow fields. 更多...
 
class  ProcgenContext
 Staging area for one atomic rebuild of a named procedural system. 更多...
 
struct  ProcgenContextHandleTag
 Handle domain for module-owned procedural rebuild contexts. 更多...
 
struct  ProcgenDynamicMeshUvPaintSessionHandleTag
 Handle domain for module-owned dynamic-mesh UV paint sessions. 更多...
 
class  ProcgenGenerationCompletion
 Owning worker result returned to a RuntimeGeneration scheduler. 更多...
 
class  ProcgenGenerationJob
 Copyable generation input issued by one RuntimeGeneration scheduler. 更多...
 
struct  ProcgenGridGraphHandleTag
 Handle domain for module-owned grid graphs. 更多...
 
struct  ProcgenGridHandleTag
 Handle domain for module-owned procedural grids. 更多...
 
struct  ProcgenHeightmapHandleTag
 Handle domain for module-owned heightmaps. 更多...
 
struct  ProcgenImageHandleTag
 Handle domain for module-owned generated images. 更多...
 
struct  ProcgenLSystemHandleTag
 Handle domain for module-owned L-system engines. 更多...
 
struct  ProcgenMeshBuildHandleTag
 Handle domain for module-owned CPU mesh builds. 更多...
 
struct  ProcgenMeshDeformationSessionHandleTag
 Handle domain for module-owned interactive mesh deformation sessions. 更多...
 
struct  ProcgenMeshGraphHandleTag
 Handle domain for module-owned mesh graphs. 更多...
 
struct  ProcgenMeshModifierGraphHandleTag
 Handle domain for module-owned mesh modifier graphs. 更多...
 
struct  ProcgenNormalImageHandleTag
 Handle domain for module-owned generated normal images. 更多...
 
struct  ProcgenOpenTrace
 One currently running automatic stage timer. 更多...
 
struct  ProcgenOutputHandleTag
 Handle domain for module-owned output specifications. 更多...
 
struct  ProcgenParamsHandleTag
 Handle domain for module-owned procedural parameter objects. 更多...
 
struct  ProcgenPbrMaterialHandleTag
 Handle domain for module-owned PBR material sets. 更多...
 
struct  ProcgenPoint
 One deterministic sample used by script-first procedural pipelines. 更多...
 
struct  ProcgenPointGraphHandleTag
 Handle domain for module-owned point graphs. 更多...
 
struct  ProcgenPointSetHandleTag
 Handle domain for module-owned point-set intermediates. 更多...
 
struct  ProcgenRuntimeGenerationHandleTag
 Handle domain for module-owned runtime-generation schedulers. 更多...
 
struct  ProcgenShapeGrammarHandleTag
 Handle domain for module-owned shape grammars. 更多...
 
struct  ProcgenSpatialDataHandleTag
 Handle domain for module-owned spatial data. 更多...
 
struct  ProcgenSplinePathHandleTag
 Handle domain for module-owned 3D spline paths. 更多...
 
struct  ProcgenStageMetric
 One named diagnostic step recorded by a script-first generation transaction. 更多...
 
struct  ProcgenSystemSnapshot
 Immutable committed snapshot retained by Procgen across script reloads. 更多...
 
struct  ProcgenTerrainSamplerHandleTag
 Handle domain for module-owned terrain samplers. 更多...
 
struct  PrototypePieceDescriptor
 Metadata for one centered, Y-up module in the built-in prototype construction kit. 更多...
 
struct  PrototypeTextureDescriptor
 Metadata for one development/prototype texture pattern. 更多...
 
struct  RecipeDescriptor
 Complete metadata and parameter schema shared by every procgen recipe family. 更多...
 
struct  Rgba8
 Rgba8 public API. 更多...
 
class  RuntimeGeneration
 View-driven partition and hierarchical procedural generation scheduler. 更多...
 
struct  ScriptProcgenContext
 Internal Squirrel proxy for a module-owned rebuild context handle. 更多...
 
struct  ScriptProcgenGrid
 Internal Squirrel proxy for a module-owned Grid handle. 更多...
 
struct  ScriptProcgenParams
 Internal Squirrel proxy for a module-owned Params handle. 更多...
 
class  ShapeGrammar
 Module-based shape grammar expanded continuously along a 3D polyline. 更多...
 
struct  ShapeModuleVariant
 One weighted asset variant represented by a shape-grammar symbol. 更多...
 
struct  SpatialBounds
 Axis-aligned bounds shared by all procedural spatial data types. 更多...
 
class  SpatialData
 Queryable spatial input for procedural pipelines. 更多...
 
class  SplineDistribution
 Owning uniformly distributed spline samples for instancing. 更多...
 
struct  SplineFrameSample
 Evaluated spline sample with an orthonormal transported cross-section frame. 更多...
 
class  SplinePath
 Owning multi-segment 3D spline with deterministic bounded sampling. 更多...
 
struct  SplinePoint
 One spline anchor with incoming and outgoing handle offsets. 更多...
 
class  SplinePolyline
 Owning sampled polyline for renderer-neutral runtime visualization adapters. 更多...
 
struct  SplineProfile
 Owning cross-section snapshot used by mesh.splineExtrude. 更多...
 
struct  SplineProfilePoint
 One vertex of an owning two-dimensional spline extrusion profile. 更多...
 
struct  SplineSample
 Evaluated spline position and normalized tangent. 更多...
 
struct  TerrainAffectedPixels
 Integer rectangles mapping one tile into the shared operation raster. 更多...
 
class  TerrainAsset
 Versioned, random-access terrain archive. 更多...
 
class  TerrainBakedMaskCache
 Own Pcg-style per-terrain baked scalar masks keyed by stable terrain and mask identities. Entries contain copied CPU rasters. Scene objects, providers, GPU resources, callbacks, clocks and RNG are not retained. 更多...
 
struct  TerrainBands
 TerrainBands public API. 更多...
 
class  TerrainBiomePreset
 Own an ordered Pcg-style biome preset made from independent spawner plans. Entries and plans are copied at insertion. Compilation namespaces each rule by its stable entry ID, preserving order while allowing different spawners to use the same local rule ID. No scene pointer or asset object is held. 更多...
 
struct  TerrainBiomeSpawnerEntry
 One owned Pcg BiomePreset spawner entry with its two activation scopes. 更多...
 
struct  TerrainBrushBlendSettings
 Paint-context affine UV mappings, evaluated at destination pixel centers. 更多...
 
struct  TerrainChunkData
 Decoded terrain chunk containing all baked runtime layers. 更多...
 
struct  TerrainChunkEntry
 Metadata for one independently compressed chunk in an EVTR archive. 更多...
 
class  TerrainCollisionMaskStack
 Own an ordered Pcg-style collision-mask stack made from caller-baked scalar rasters. Geometry queries and cache invalidation remain with the caller; every added raster is copied and no scene object, callback, renderer resource, clock or RNG survives a call. 更多...
 
struct  TerrainConcavitySettings
 Concavity source controls; featureSize is in height texels, concavity is signed. 更多...
 
struct  TerrainCurvatureSettings
 Radial curvature controls; radius is UV distance, worldUnits scales signed height-minus-blur. 更多...
 
struct  TerrainCurveTextureReceipt
 Range and write count returned by Pcg AnimationCurve texture baking. 更多...
 
class  TerrainDetailLayer
 Owned integer terrain-detail layer, independent of graphics and resource registries. Each instance is an independent owning value; explicit copies deep-copy all counts for transaction snapshots. Caller serializes access on its owning thread. Every operation evaluates privately and publishes once; no callback, borrowed raster or mutable view survives a call. Each apply owns a named detail-thinning RNG stream initialized by its explicit signed seed. Replay uses same-build float arithmetic, X-major iteration and conditional source RNG draws. This layer covers one complete aligned terrain and owns independent density rasters keyed by stable resource namespace. Multi-terrain windows and renderer instancing remain in their existing domain owners. 更多...
 
struct  TerrainDetailPlacementSettings
 Explicit native placement domain and resource for a terrain detail layer. 更多...
 
struct  TerrainDetailSettings
 Effective detail rule settings; density is rule density times global spawn density. 更多...
 
struct  TerrainDetailSpawnRule
 One owned Pcg-style detail spawn rule. 更多...
 
struct  TerrainDetailTile
 Borrowed mutable detail layer participating in one synchronous world operation. 更多...
 
struct  TerrainDistanceMaskSettings
 Value-only UV transform; distances are relative to the target raster, rotation in radians. 更多...
 
struct  TerrainErosionMap
 Per-cell diagnostic outputs produced by an erosion stage. 更多...
 
class  TerrainGenerationSession
 Owned in-memory terrain operation session; records native stamps, scalar effects and erosion. Owns baseline, current terrain, sediment, water and immutable copies of operation inputs. No borrowed raster, scene object, script callback or GPU resource survives a call. Replays use the same CPU kernels and inputs in order; determinism is same-build floating arithmetic. All access is serialized by the caller on its owning thread. History mutations and terrain, sediment and all water channels publish together after successful evaluation; allocation failure preserves all state. Snapshots are copies, never a second writable view of the authoritative terrain. Versioned snapshots retain the baseline, every owned command, enabled flags, cursor and access policy. Asynchronous worker tickets and a generic gameplay object model are not introduced. 更多...
 
struct  TerrainHeightMixSettings
 Mix-height scalar controls; delta scale is maximum-minimum, independent of clipping bounds. Defaults use Pcg's scalar input range [0,1] and packed terrain output [0,0.5]. World-height callers must provide consistent delta scale and clipping bounds. 更多...
 
struct  TerrainHeightStitchSettings
 Pcg terrain-height seam controls; maxDifference is retained for source-profile compatibility. 更多...
 
struct  TerrainHeightTile
 Borrowed mutable height tile participating in one synchronous world operation. 更多...
 
struct  TerrainImageMaskSettings
 Image UV transform and color-selection settings, rotation in radians. 更多...
 
class  TerrainLakeMeshBuilder
 Builds flat water-surface cells for Priority-Flood depressions. 更多...
 
struct  TerrainLakeMeshSettings
 TerrainLakeMeshSettings public API. 更多...
 
class  TerrainLayers
 Script-friendly ownership wrapper for baked hydrology and climate layers. 更多...
 
struct  TerrainLegacyDistributedErosionSettings
 Thresholds and iteration count for Pcg HeightMap.Erode's synchronous cardinal transport. 更多...
 
struct  TerrainLegacyHydraulicSettings
 Controls Pcg HeightMap.ErodeHydraulic's legacy CPU erosion loop. 更多...
 
struct  TerrainLegacySteepestErosionSettings
 Thresholds and iteration count for Pcg HeightMap.ErodeThermal's in-place steepest transport. 更多...
 
class  TerrainLodSelector
 Screen-space-error LOD choice based on measured heightfield deviation. 更多...
 
class  TerrainMeshBuilder
 Builds LOD heightfield chunks with stable normals, skirts, and biome splat weights. 更多...
 
class  TerrainMeshChunk
 One renderable heightfield chunk plus four ecological material weights. 更多...
 
struct  TerrainMeshSettings
 TerrainMeshSettings public API. 更多...
 
struct  TerrainModifierStampSpawnRule
 One owned Pcg TerrainModifierStamp rule, including both ordered mask domains. 更多...
 
class  TerrainMultiDetailWorkspace
 Owning script-safe multi-terrain detail transaction workspace. Input layers are copied on insertion. Operations, reports and all-layer undo snapshots publish by one owner-thread swap; no borrowed raster or callback survives a call. The explicit seed creates one deterministic stream per apply. 更多...
 
class  TerrainMultiObjectWorkspace
 Owning transactional multi-terrain object workspace with undo and redo snapshots. 更多...
 
class  TerrainMultiSplatWorkspace
 Owning script-safe multi-terrain splat transaction and all-tile undo history. Input maps are copied. Paint, report and history publish through one owner-thread swap; no external references, callbacks, renderer resources, RNG or time survive a call. 更多...
 
struct  TerrainMultiTileReport
 Completed multi-tile stamp statistics and Pcg-compatible affected-pixel mappings. 更多...
 
class  TerrainMultiTileWorkspace
 Owning script-safe collection of height tiles with atomic multi-tile operations. Tiles are copied on insertion and never retain caller rasters. The workspace is one mutable owner, move-only, and caller-thread affine. It invokes no callbacks and exposes only copied outputs. 更多...
 
class  TerrainMultiTreeWorkspace
 Owning script-safe multi-terrain tree transaction workspace. Tree sets and height rasters are copied on insertion. Each operation and all-tile history snapshot is evaluated in a private candidate and published by one owner-thread swap. No external pointer, callback or hidden RNG survives. 更多...
 
struct  TerrainNoiseMaskSettings
 Value-only 2D NoiseMask transform, fBm, optional domain-warp and deterministic-stream settings. 更多...
 
struct  TerrainObjectInstanceSettings
 One resource entry emitted around each accepted Pcg game-object prototype location. 更多...
 
struct  TerrainObjectPlacementSettings
 Deterministic Pcg SetTerrainGameObjects scan, collision and resource configuration. 更多...
 
struct  TerrainObjectSpawnRule
 One owned Pcg-style game-object spawn rule. 更多...
 
struct  TerrainObjectTile
 One exclusively borrowed terrain object owner and its immutable height source. 更多...
 
struct  TerrainOperationTile
 Immutable tile geometry and raster resolution used to calculate a shared operation window. 更多...
 
class  TerrainPipeline
 Deterministic CPU terrain baking stages shared by editors and runtime tools. 更多...
 
class  TerrainPolygonMask
 Own ordered Pcg-style PolyMask nodes and rasterize them into a caller-owned scalar grid. Nodes are value-copied and no terrain, texture, scene object, callback, clock, or RNG is retained. 更多...
 
struct  TerrainProbePlacementSettings
 Deterministic value settings for Pcg SetProbes terrain scanning. 更多...
 
struct  TerrainProbeSpawnRule
 One owned Pcg-style reflection or light probe spawn rule. 更多...
 
struct  TerrainProbeTile
 One exclusively borrowed terrain probe owner and immutable height source. 更多...
 
struct  TerrainRidgeSettings
 Ridge controls in caller height units, with explicit clipping bounds. Defaults match the Pcg packed scalar domain [0,0.5]. World-height callers must supply their bounds. Passes counts actual shader applications: Pcg's UI iteration value N maps to floor(N)+2 passes, so its default 16 maps to 18 here. 更多...
 
class  TerrainRiverMeshBuilder
 Builds overlapping flow-aligned water ribbons from a terrain river network. 更多...
 
struct  TerrainRiverMeshSettings
 TerrainRiverMeshSettings public API. 更多...
 
struct  TerrainSample
 TerrainSample public API. 更多...
 
struct  TerrainSampleGrid
 World X/Z positions of height sample centers, with positive spacing and dimensions. 更多...
 
class  TerrainSampler
 Deterministic terrain height sampling (Red Blob Games / Perlin fBm recipe). 更多...
 
struct  TerrainSedimentSettings
 Effective sediment coefficients from Hydraulic.compute, after UI conversion. The source hardcodes hardness to zero, disabling dissolution; capacity and dissolve controls therefore have no finite contribution and are not duplicated here. 更多...
 
struct  TerrainSmoothSettings
 Two-pass smoothing controls; radius in texels, verticality in [-1,1], strength in [0,1]. 更多...
 
class  TerrainSpawnPlan
 Own an ordered mixed-domain Pcg-style spawn recipe. Rule IDs are stable and unique. Every raster and setting is copied at insertion, so later caller mutation cannot alter replay. The plan is a value object with no scene references, callbacks, clock or mutable external state. 更多...
 
class  TerrainSplatmap
 Owning normalized terrain texture-layer weights with atomic mutation. Layers share one finite width/height topology and each texel sums to one within float tolerance. 更多...
 
class  TerrainSplatPalette
 Ordered linear RGBA colors used to visualize terrain splat layers. 更多...
 
struct  TerrainSplatSpawnRule
 One owned Pcg-style terrain texture spawn rule. 更多...
 
struct  TerrainSplatTile
 Borrowed terrain splat owner and world geometry for one synchronous texture transaction. 更多...
 
struct  TerrainStampSettings
 Value configuration for a rectangular stamp in world X/Z coordinates. 更多...
 
class  TerrainStreamingCache
 Runtime decoded-chunk cache for an EVTR terrain asset. 更多...
 
struct  TerrainStreamingWindow
 A rectangular, globally addressed terrain window assembled from resident chunks. 更多...
 
struct  TerrainStreamStats
 TerrainStreamStats public API. 更多...
 
struct  TerrainTerraceRemovalSettings
 Portable controls for Pcg HeightmapTerraceRemover's analysis and processing pipeline. 更多...
 
struct  TerrainTerraceSettings
 Terrace frequency in inverse height units, interior bevel in [0,1], strength in [0,1]. 更多...
 
struct  TerrainTextureAlignSettings
 World-space placement and Pcg-compatible seam blending controls for two splatmaps. 更多...
 
struct  TerrainThermalSettings
 Explicit simulation controls for the Pcg eight-neighbor thermal kernel. Height differences are multiplied by heightScale before slope comparison. Spacing is in simulation units; reposeSlope is tan(repose angle), not an angle in degrees. dt is the thermal substep duration (Pcg multiplies thermal dt by hydraulic dt). Defaults use unit spacing/height scale and tan(85 degrees), with three substeps. 更多...
 
struct  TerrainTreePlacementSettings
 Explicit deterministic tree placement configuration for one terrain rectangle and resource. 更多...
 
struct  TerrainTreeRescaleSettings
 Previous and replacement prototype values used for atomic Pcg-style tree refresh. 更多...
 
struct  TerrainTreeSpawnRule
 One owned Pcg-style tree spawn rule. 更多...
 
struct  TerrainTreeTile
 Borrowed terrain-local tree owner, height raster and world geometry for one synchronous transaction. 更多...
 
class  TerrainWaterField
 Owned water/flux/velocity state for deterministic execution of the Pcg water stage. No terrain pointer is retained. Each advance reads an immutable terrain and previous field, computes all fluxes, then computes velocities and depth, publishing once. This deliberately retains the source's final rain/evaporation overwrite of transported depth and its velocity signs. It is not a conservative shallow-water solver. Undefined source behavior is resolved explicitly: current flux is fully computed before neighbor reads, and zero average depth produces zero velocity instead of division by zero. Thread affinity is caller-owned: exclusive reset/advance, immutable sampling when idle; no callbacks, borrowed output pointers, ECS handles, implicit clock or RNG. 更多...
 
struct  TerrainWaterFlowMapSettings
 Controls Pcg's legacy offline WaterFlowMap droplet tracer. 更多...
 
struct  TerrainWaterSample
 Value snapshot of one water cell; direction order follows Hydraulic.compute (Z+ is bottom). 更多...
 
struct  TerrainWaterSettings
 Explicit constants for the source hydraulic water-flow equations, after UI unit conversion. 更多...
 
struct  TerrainWorldClearSettings
 Select Pcg spawn domains to clear in one atomic world operation. 更多...
 
struct  TerrainWorldCreationSettings
 Validated Pcg-style centered terrain-grid topology. 更多...
 
class  TerrainWorldWorkspace
 Own a complete Pcg-style terrain grid and its height, splat, detail, tree, object and probe state. Creation and every operation publish by one owner swap. History snapshots contain every domain, so undo/redo cannot expose a height/resource combination that never existed. Inputs are copied during calls and never retained. The workspace is caller-thread affine, invokes no callback, reads no clock and uses only explicitly supplied seeds. 更多...
 
struct  TextureGenContext
 TextureGenContext public API. 更多...
 
struct  TextureRecipeDef
 A procedural texture is fully described by an albedo ramp + a displacement field + PBR knobs. From one definition both an albedo recipe (ImageData) and a full PBR set (albedo/normal/roughness/metallic/height/ao) are produced. 更多...
 
class  TextureRecipeRegistry
 EVENGINE_API_DOMAINS public API. 更多...
 
struct  ThermalErosionSettings
 ThermalErosionSettings public API. 更多...
 
struct  TilePresetVariant
 Stable build semantics resolved from one eight-neighbour autotile mask. 更多...
 

类型定义

using MeshRecipeFn = std::function< bool(const Params &params, MeshBuild &out, std::string &error)>
 
using PreparedArtifactPublish = eve::artifact::PreparedPublication
 
using ISceneArtifactAdapter = eve::artifact::ISceneArtifactAdapter
 
using IMapArtifactAdapter = eve::artifact::IMapArtifactAdapter
 
using IGraphicsArtifactAdapter = eve::artifact::IGraphicsArtifactAdapter
 
using IPhysicsArtifactAdapter = eve::artifact::IPhysicsArtifactAdapter
 
using ArtifactPublishOptions = eve::artifact::PublishOptions
 
using ArtifactId = eve::ArtifactId
 Common strong UUID identity for one published procedural artifact.
 
using MeshData = MeshBuild
 Existing dense CPU mesh type under the artifact vocabulary.
 
using ArtifactLeafPayload = std::variant< Grid2D, PointSet, MeshData, ImageData, Collider >
 Leaf payloads used by a CompositeArtifact.
 
using GeneratorFn = std::function< bool(const Params &params, Grid2D &out, std::string &error)>
 
using GeneratorDescriptor = RecipeDescriptor
 Backward-compatible name for the shared recipe schema.
 
using GridGraphValue = std::variant< Grid2D, PointSet >
 Strong runtime value passed between typed GridGraph ports.
 
using TerrainSpawnRule = std::variant< TerrainSplatSpawnRule, TerrainDetailSpawnRule, TerrainTreeSpawnRule, TerrainObjectSpawnRule, TerrainProbeSpawnRule, TerrainModifierStampSpawnRule >
 
using MeshGraphValue = std::variant< Grid2D, PointSet, MeshBuild >
 Strong values accepted by MeshGraph ports.
 
using ProcgenParamsHandleRef = eve::script::RuntimeHandleRef< ProcgenParamsHandleTag >
 
using ProcgenGridHandleRef = eve::script::RuntimeHandleRef< ProcgenGridHandleTag >
 
using ProcgenContextHandleRef = eve::script::RuntimeHandleRef< ProcgenContextHandleTag >
 
using ProcgenOutputHandleRef = eve::script::RuntimeHandleRef< ProcgenOutputHandleTag >
 
using ProcgenPointSetHandleRef = eve::script::RuntimeHandleRef< ProcgenPointSetHandleTag >
 
using ProcgenTerrainSamplerHandleRef = eve::script::RuntimeHandleRef< ProcgenTerrainSamplerHandleTag >
 
using ProcgenHeightmapHandleRef = eve::script::RuntimeHandleRef< ProcgenHeightmapHandleTag >
 
using ProcgenCloudFieldHandleRef = eve::script::RuntimeHandleRef< ProcgenCloudFieldHandleTag >
 
using ProcgenCloudShadowHandleRef = eve::script::RuntimeHandleRef< ProcgenCloudShadowHandleTag >
 
using ProcgenPbrMaterialHandleRef = eve::script::RuntimeHandleRef< ProcgenPbrMaterialHandleTag >
 
using ProcgenMeshBuildHandleRef = eve::script::RuntimeHandleRef< ProcgenMeshBuildHandleTag >
 
using ProcgenImageHandleRef = eve::script::RuntimeHandleRef< ProcgenImageHandleTag >
 
using ProcgenNormalImageHandleRef = eve::script::RuntimeHandleRef< ProcgenNormalImageHandleTag >
 
using ProcgenSpatialDataHandleRef = eve::script::RuntimeHandleRef< ProcgenSpatialDataHandleTag >
 
using ProcgenRuntimeGenerationHandleRef = eve::script::RuntimeHandleRef< ProcgenRuntimeGenerationHandleTag >
 
using ProcgenPointGraphHandleRef = eve::script::RuntimeHandleRef< ProcgenPointGraphHandleTag >
 
using ProcgenMeshModifierGraphHandleRef = eve::script::RuntimeHandleRef< ProcgenMeshModifierGraphHandleTag >
 
using ProcgenMeshDeformationSessionHandleRef = eve::script::RuntimeHandleRef< ProcgenMeshDeformationSessionHandleTag >
 
using ProcgenDynamicMeshUvPaintSessionHandleRef = eve::script::RuntimeHandleRef< ProcgenDynamicMeshUvPaintSessionHandleTag >
 
using ProcgenSplinePathHandleRef = eve::script::RuntimeHandleRef< ProcgenSplinePathHandleTag >
 
using ProcgenGridGraphHandleRef = eve::script::RuntimeHandleRef< ProcgenGridGraphHandleTag >
 
using ProcgenMeshGraphHandleRef = eve::script::RuntimeHandleRef< ProcgenMeshGraphHandleTag >
 
using ProcgenBiomeRulesHandleRef = eve::script::RuntimeHandleRef< ProcgenBiomeRulesHandleTag >
 
using ProcgenShapeGrammarHandleRef = eve::script::RuntimeHandleRef< ProcgenShapeGrammarHandleTag >
 
using ProcgenLSystemHandleRef = eve::script::RuntimeHandleRef< ProcgenLSystemHandleTag >
 
using PbrRecipeFn = std::function< std::unique_ptr< PbrTextureSet >(const Params &params, std::string &error)>
 Recipe returns a newly owned full PBR set, or null on failure.
 
using TextureRecipeFn = std::function< std::unique_ptr< image::ImageData >(const Params &params, std::string &error)>
 Recipe returns a newly owned RGBA8 image, or null on failure.
 

枚举

enum class  CaveNormalStatus { applied , unknownMode }
 CaveNormalStatus public API. 更多...
 
enum class  ProcgenAttributeType : std::uint8_t {
  Float , Int , Bool , Vector ,
  String
}
 Closed set of column types supported by procedural point metadata. 更多...
 
enum class  ArtifactType : std::uint8_t {
  Grid , PointSet , MeshData , ImageData ,
  Collider , Composite
}
 Runtime payload kind; it is checked against the variant on publish. 更多...
 
enum class  GridGraphValueType : std::uint8_t { Grid , PointSet }
 Declared output kind of a GridGraph operation. 更多...
 
enum class  GtsMeshPivot { None =0 , MinimumXZ =1 , CenterXZ =2 }
 Pivot translation applied independently to each GTS split mesh. 更多...
 
enum class  GtsTerrainLodMode : int { Impostor = 0 , LowPoly = 1 , Custom = 2 }
 Purpose assigned to one exported terrain LOD. 更多...
 
enum class  GtsTerrainNormalEdgeMode : int { Smooth = 0 , Sharp = 1 }
 Edge-normal treatment requested for an exported terrain mesh. 更多...
 
enum class  GtsTerrainTextureExportMethod : int { OrthographicBake = 0 , BaseMapExport = 1 }
 Texture source used by a terrain export level. 更多...
 
enum class  GtsTerrainBakeLighting : int { NeutralLighting = 0 , CurrentSceneLighting = 1 }
 Lighting state used while baking exported textures. 更多...
 
enum class  GtsTerrainAlphaChannel : int { None = 0 , Heightmap = 1 }
 Optional channel placed in the exported texture alpha channel. 更多...
 
enum class  GtsTerrainExportShader : int { Standard = 0 , VertexColor = 1 }
 Native material family created for an exported terrain level. 更多...
 
enum class  GtsTerrainConversionAction : int { MeshTerrain = 0 , ColliderOnly = 1 , ObjFileExport = 2 }
 Operation performed for the selected source terrain. 更多...
 
enum class  GtsSourceTerrainTreatment : int { Nothing = 0 , Deactivate = 1 , StoreInBackup = 2 , Delete = 3 }
 Treatment applied to a source terrain after a successful conversion commit. 更多...
 
enum class  GtsTerrainExportSelection : int { AllTerrains = 0 , SingleTerrain = 1 }
 Source selection scope used by a terrain export. 更多...
 
enum class  GtsTerrainColliderType : int { Mesh = 0 , Heightfield = 1 }
 Collider representation requested by the export workflow. 更多...
 
enum class  GtsTerrainObjFaceMode : int { Triangles = 0 , Quads = 1 }
 Polygon representation written by the Pcg terrain OBJ exporter. 更多...
 
enum class  GtsTerrainSaveResolution : int {
  Full =0 , Half =1 , Quarter =2 , Eighth =3 ,
  Sixteenth =4
}
 Pcg/GTS power-of-two sampling reduction used before terrain mesh export. 更多...
 
enum class  PcgBiomeLoadMode { Disabled = 0 , EditorSelected = 1 , EditorAlways = 2 , RuntimeAlways = 3 }
 Pcg TerrainLoader activation modes retained by a biome controller. 更多...
 
enum class  PcgRuntimeStampStatus {
  Idle = 0 , AwaitingResource = 1 , Loaded = 2 , Completed = 3 ,
  Failed = 4
}
 Observable lifecycle of Pcg's runtime stamper sample. 更多...
 
enum class  PcgTerrainTextureTier { Detailed = 0 , Basemap = 1 }
 Terrain material tier selected from Pcg's basemap distance. 更多...
 
enum class  PcgTerrainStreamingTier { Regular = 0 , Impostor = 1 , Unloaded = 2 }
 Runtime representation selected by Pcg's regular and impostor ranges. 更多...
 
enum class  PcgTerrainChangeType { Created = 0 , Removed = 1 }
 Pcg terrain hierarchy change kind. 更多...
 
enum class  TerrainCollisionMaskType { RadiusTree , RadiusTag , LayerGameObject , LayerTree }
 Pcg baked collision-mask source categories and their inversion convention. 更多...
 
enum class  TerrainHeightmapCurvature { Average = 0 , Horizontal = 1 , Vertical = 2 }
 Pcg HeightMap.CurvatureMap modes in source enum order. 更多...
 
enum class  TerrainHeightmapAspect { Aspect = 0 , Northerness = 1 , Easterness = 2 }
 Pcg HeightMap.Aspect modes in source enum order. 更多...
 
enum class  TerrainHeightmapNeighborhood { DeNoise = 0 , GrowEdges = 1 , ShrinkEdges = 2 }
 Pcg HeightMap neighborhood mutation modes. 更多...
 
enum class  TerrainHeightmapArithmetic { Add = 0 , Subtract = 1 , Multiply = 2 , Divide = 3 }
 Pcg HeightMap pointwise arithmetic operations. 更多...
 
enum class  TerrainHeightmapTransform { Invert = 0 , Normalise = 1 , Power = 2 , Contrast = 3 }
 Pcg HeightMap whole-raster value transforms. 更多...
 
enum class  TerrainHeightmapCopy { Always = 0 , IfLess = 1 , IfGreater = 2 }
 Pcg HeightMap.Copy conditional modes in source enum order. 更多...
 
enum class  TerrainHeightmapMeasure {
  Minimum = 0 , Maximum = 1 , Sum = 2 , Average = 3 ,
  BaseLevel = 4
}
 Pcg HeightMap read-only scalar measurements. 更多...
 
enum class  TerrainHeightmapSlopeQuery { GridForward = 0 , NormalizedCentral = 1 , NormalizedAverage = 2 }
 Pcg HeightMap point slope query variants. 更多...
 
enum class  TerrainDetailMode { Replace , Add , Remove }
 Native detail-density operation corresponding to Pcg SpawnMode. 更多...
 
enum class  TerrainFileFormat : std::uint8_t {
  Auto , Evtr , Evtrn , Raw8 ,
  Raw16LE , Raw16BE
}
 Persisted terrain encodings the runtime can decode. 更多...
 
enum class  TerrainSessionAccess { Editable , Locked }
 Edit policy for the owned operation history and terrain. 更多...
 
enum class  TerrainSessionRunStatus {
  Idle , Pending , Completed , Cancelled ,
  Failed
}
 Observable lifecycle of a caller-driven staged session replay. 更多...
 
enum class  TerrainImageFilter {
  MaximumRgb , ColorSelection , Red , Green ,
  Blue , Alpha
}
 Reference image selection modes; MaximumRgb is not luminance. 更多...
 
enum class  TerrainStrengthMode {
  Replace , Maximum , Minimum , Add ,
  Subtract
}
 StrengthTransform pass order; source pass 0 named Multiply actually replaces with the curve value. 更多...
 
enum class  TerrainDistanceAxis { Circle , X , Z , RoundedSquare }
 Distance coordinates used by the Pcg distance-mask shader. 更多...
 
enum class  TerrainOperationDomain {
  Heightmap , Texture , Tree , TerrainDetail ,
  GameObject , BakedMask
}
 Pcg multi-terrain pixel domain; only heightmaps share the border sample between adjacent tiles. 更多...
 
enum class  TerrainNoiseType {
  Perlin , Value , Billow , Ridge ,
  Voronoi
}
 Pcg NoiseLib families available to the native scalar mask generator. 更多...
 
enum class  TerrainObjectScaleMode : std::uint8_t { Fixed , Random , Fitness , FitnessRandomized }
 Pcg-compatible scale policy for one terrain object instance resource. 更多...
 
enum class  TerrainObjectYOffsetMode : std::uint8_t { TerrainHeight , SeaLevel , Custom }
 Height reference used by one terrain object instance resource. 更多...
 
enum class  TerrainObjectOperationMode : std::uint8_t { Add , Replace , Remove }
 Mutation performed by a multi-terrain game-object operation. 更多...
 
enum class  Biome : uint8_t {
  Ocean , Beach , Desert , Grassland ,
  Forest , Rainforest , Tundra , Taiga ,
  Alpine , River , Lake , Wetland
}
 Biome public API. 更多...
 
enum class  TerrainPolygonMaskType { Open , Closed }
 Pcg PolyMask topology: open strokes only, or closed flood fill plus strokes. 更多...
 
enum class  TerrainProbeType : std::uint8_t { Reflection , Light }
 Pcg probe resource kind. 更多...
 
enum class  TerrainProbeOperationMode : std::uint8_t { Add , Replace , Remove }
 Mutation performed by a multi-terrain probe rule. 更多...
 
enum class  TerrainMaskBlend {
  Multiply , Maximum , Minimum , Add ,
  Subtract
}
 Ordered scalar-mask arithmetic; intermediate values are not clamped. 更多...
 
enum class  TerrainStampOperation {
  Raise , Lower , Blend , Set ,
  Add , Subtract
}
 Native height operations, in terrain height units (not Unity packed heights). 更多...
 
enum class  TerrainTerraceClass { Black = 0 , Red = 1 , Green = 2 , Blue = 3 }
 Numeric values written by analyzeTerrainTerraces, matching the source mask colors. 更多...
 
enum class  TerrainTreeScaleMode : std::uint8_t { Fixed , Fitness , Random , FitnessRandomized }
 Pcg-compatible rules for deriving tree scale from placement fitness. 更多...
 
enum class  TerrainTreeYOffsetMode : std::uint8_t { TerrainHeight , SeaLevel , Custom }
 Height reference used when a tree does not snap directly to terrain. 更多...
 
enum class  TerrainTreeOperationMode : std::uint8_t { Add , Replace , Remove }
 Pcg SetTerrainTrees operation branch. Add and Replace both append after upstream clearing policy. 更多...
 
enum class  TerrainWaterChannel {
  Depth , VelocityX , VelocityZ , FluxRight ,
  FluxLeft , FluxBottom , FluxTop
}
 Stored scalar channels; Pcg erosion masks read FluxRight or VelocityX, not vector magnitude. 更多...
 
enum class  TerrainWorldRunStatus {
  Idle , Pending , Completed , Cancelled ,
  Failed
}
 Observable lifecycle of a caller-driven staged world spawn. 更多...
 
enum class  ModuleFacing : unsigned char {
  North , East , South , West ,
  Up , Down
}
 Horizontal or vertical face used by grid-module connection constraints. 更多...
 
enum class  ParamKind {
  Integer , Float , Boolean , String ,
  Choice
}
 Semantic type used by schema-driven recipe parameter editors. 更多...
 
enum class  PcgSpawnProgressStatus { Hidden = 0 , Active = 1 , CancelRequested = 2 , Completed = 3 }
 Observable lifecycle of a Pcg spawning progress operation. 更多...
 
enum class  PcgTaskQueueStatus { Idle = 0 , Waiting = 1 , Ready = 2 }
 Observable state of Pcg's delayed task processor. 更多...
 
enum class  TilePresetKind : std::uint8_t {
  None , DeadEnd , Single , Fill ,
  CornerWay , CornerFill , InteriorCorner , DoubleCorner ,
  EdgeWay , EdgeFill , ThreeWay , ThreeWayFill ,
  EdgeCornerFill , ThreeCorner , FourWay
}
 TileWorldCreator-compatible standard-grid tile categories. 更多...
 

函数

PointSet projectPointsToHeightmap (const PointSet &input, const Heightmap &heightmap, float originX, float originZ, float cellSize, float heightScale)
 Project points to heightmap.
 
void registerWfcSimple (GeneratorRegistry &registry)
 
void registerTerrainHeightmapAlgorithm (GeneratorRegistry &registry)
 
bool generateBushMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a deterministic procedural small bush. Registered as the mesh.bush recipe.
 
bool generateCableChainRope (const std::string &kind, const Params &params, MeshBuild &out, std::string &error)
 Procedural tileable cable / chain / rope meshes along +X.
 
void registerCableChainRopeRecipes (MeshRecipeRegistry &registry)
 Register mesh.cable / mesh.chain / mesh.rope mesh recipes.
 
bool generateCastleMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a complete, walkable, multi-ring medieval castle.
 
void registerCastleMeshRecipe (MeshRecipeRegistry &registry)
 Register mesh.castle in the built-in mesh recipe registry.
 
CaveAbrasionSample sampleCaveFloodAbrasion (const CaveAbrasionInput &input)
 Sample mechanical erosion by sediment-laden floods near the passage bed.
 
CaveBiogenicCorrosionSample sampleCaveBiogenicCorrosion (const CaveBiogenicCorrosionInput &input)
 Sample an airflow-aligned, guano-ammonia biogenic corrosion overprint.
 
CaveBoundaryClosure closeCaveDensityBoundary (std::vector< float > &density, int nx, int ny, int nz, float strength, uint32_t seed)
 Apply a deterministic host-rock envelope at the finite density domain boundary.
 
CaveBreakdownSet createCaveBreakdown (const std::vector< CaveBreakdownChamber > &chambers, int eventCount, float strength, uint32_t seed)
 Create paired ceiling-spall scars and floor blocks from host chambers.
 
float carveCaveBreakdownScars (float x, float y, float z, float current, const CaveBreakdownSet &breakdown)
 Carve the event's shallow ceiling detachment scars from a cave SDF.
 
float addCaveBreakdownBlocks (float x, float y, float z, float current, const CaveBreakdownSet &breakdown)
 Union the event's landed breakdown blocks into a cave SDF.
 
bool isCaveBreakdownBlockSurface (float x, float y, float z, float tolerance, const CaveBreakdownSet &breakdown)
 Test whether a point lies on a generated breakdown block surface.
 
CaveCondensationResult erodeCaveByCondensation (std::vector< float > &density, const std::vector< float > &hydraulicExposure, int nx, int ny, int nz, float strength, uint32_t seed)
 Upscale long-term condensation corrosion into shallow ceiling-wall pitting.
 
std::vector< CaveConstrictionScourSite > createCaveConstrictionScourSites (const std::vector< CaveHydrologyPoint > &trunk, const std::vector< CaveHydrologyBranch > &branches, const CaveHydrologyWeights &hydrology)
 Derive scour sites from local radius minima in the authoritative hydrology paths.
 
CaveConstrictionScourSample sampleCaveConstrictionScour (CaveHydrologyVec3 point, const std::vector< CaveConstrictionScourSite > &sites)
 Sample bed scour downstream of a constriction and lateral erosion near the pool exit.
 
std::optional< CaveVerticalSpan > findCaveVerticalSpan (const std::vector< float > &density, int nx, int ny, int nz, float x, float z, float preferredY)
 Finds the first connected cave-air interval intersected by a vertical ray.
 
std::optional< CaveSurfaceAnchor > projectToFinalCaveSurface (const std::vector< float > &density, int nx, int ny, int nz, CaveFieldPoint point, float maximumDistance)
 Projects a nearby field-space point to the final cave zero isosurface.
 
CaveDifferentialErosionSample sampleCaveDifferentialVeinErosion (const CaveDifferentialErosionInput &input)
 Sample host-rock retreat around resistant intersecting mineral veins.
 
CaveFacetSample sampleCaveCondensationFacets (const CaveFacetInput &input)
 Sample planar condensation-corrosion facets in passage-local coordinates.
 
float sampleCaveDensity (const std::vector< float > &density, int nx, int ny, int nz, CaveFieldPoint point)
 Sample cave density.
 
CaveFieldPoint sampleCaveDensityGradient (const std::vector< float > &density, int nx, int ny, int nz, CaveFieldPoint point)
 Sample cave density gradient.
 
CaveFieldPoint projectToCaveDensitySurface (CaveFieldPoint meshPoint, const std::vector< float > &density, int nx, int ny, int nz)
 Project to cave density surface.
 
CaveResampledField resampleCaveDensity (const std::vector< float > &density, int nx, int ny, int nz, int factor)
 Resample cave density.
 
CaveFractureChannelizationSample sampleCaveFractureChannelization (const CaveFractureChannelizationInput &input)
 Approximate fracture aperture-flow-dissolution feedback at one cave-wall sample.
 
CaveFractureSample sampleCaveFracture (const CaveFractureInput &input)
 Sample a spatially correlated fracture aperture and stress-split dissolution front.
 
CaveHydrologyWeights buildCaveHydrology (const std::vector< CaveHydrologyPoint > &trunk, const std::vector< CaveHydrologyBranch > &branches, float erosion, float gradient, float recharge, float focusing, float damkohler, float transportG)
 Builds cave hydrology.
 
CaveKarrenSample sampleCaveStreamKarren (const CaveKarrenInput &input)
 Sample stream-bed solution grooves guided by the two strongest local fracture sets.
 
std::vector< CaveKnickpointSite > createCaveKnickpointSites (const std::vector< CaveHydrologyPoint > &trunk, const std::vector< float > &hydraulicWeights, float sedimentLoad)
 Derive knickpoints from steepening downstream segments of the authoritative trunk path.
 
CaveKnickpointSample sampleCaveKnickpointErosion (CaveHydrologyVec3 point, const std::vector< CaveKnickpointSite > &sites)
 Sample plunge-pool drilling and lower-headwall erosion around derived knickpoints.
 
CaveLithologySample sampleCaveLithology (const CaveLithologyInput &input)
 Sample flow-accessible dissolution caused by contrasting beds and clustered stylolites.
 
MeshRecipeFn caveMeshGenerator ()
 Cave mesh generator.
 
void registerCaveMeshRecipe (MeshRecipeRegistry &registry)
 Register the deterministic three-dimensional limestone cave recipe.
 
CaveMicrostructureSample sampleCaveMicrostructure (float x, float y, float z, uint32_t seed, float heterogeneity, float microporosityAccess, float permeabilityContrast)
 Sample cave microstructure.
 
CaveMineralArmoringSample sampleCaveMineralArmoring (const CaveMineralArmoringInput &input)
 Sample patchy secondary-mineral coating and its protection of carbonate wall rock.
 
std::vector< CaveMixingSite > createCaveMixingSites (const std::vector< CaveHydrologyPoint > &trunk, const std::vector< CaveHydrologyBranch > &branches, uint32_t seed)
 Derive mixing sites from authoritative branch anchors in a cave hydrology network.
 
CaveMixingCorrosionSample sampleCaveMixingCorrosion (CaveHydrologyVec3 point, const std::vector< CaveMixingSite > &sites)
 Sample localized shell retreat around branch-to-trunk mixing sites.
 
CaveNormalStatus applyCaveSurfaceNormals (MeshBuild &mesh, const std::vector< float > &density, int nx, int ny, int nz, float width, float height, float depth, const std::string &mode, float blend, std::string &error)
 Applies cave surface normals.
 
std::vector< CaveObstacleScourSite > createCaveObstacleScourSites (const CaveBreakdownSet &breakdown, const std::vector< CaveHydrologyPoint > &trunk, const std::vector< float > &hydraulicWeights, float sedimentLoad, float wallRoughness)
 Couple landed breakdown blocks to the nearest authoritative cave-stream segment.
 
CaveObstacleScourSample sampleCaveObstacleScour (CaveHydrologyVec3 point, const std::vector< CaveObstacleScourSite > &sites)
 Sample deep upstream horseshoe scour and shallower elongated wake erosion.
 
CavePluckingSample sampleCaveFloodPlucking (const CavePluckingInput &input)
 Sample thresholded removal of blocks bounded by one or more exposed fractures.
 
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.
 
CaveReactivePatchinessResult evolveCaveSurfaceByCorrelatedReactivity (std::vector< float > &density, const std::vector< float > &rateField, const std::vector< CaveHydrologyVec3 > &flowField, int nx, int ny, int nz, float strength, uint64_t seed, int iterations=2)
 Retreat a cave surface through a deterministic, multiscale correlated reactivity field.
 
CaveRoughnessSample sampleCaveWallRoughness (const CaveRoughnessInput &input)
 Sample a three-band, spatially correlated cave-wall relief field.
 
CaveRoughnessTransferSample sampleCaveRoughnessTransfer (const CaveRoughnessTransferInput &input)
 Estimate local reactive transport over a rough carbonate wall.
 
CaveScallopHistorySample sampleCaveScallopHistory (const CaveScallopHistoryInput &input)
 Sample cumulative erosion from two spatially partitioned cave-flow stages.
 
CaveScallopSample sampleCaveScallops (const CaveScallopInput &input)
 Sample cave scallops.
 
CavePassageFrame nearestCavePassageFrame (const CaveHydrologyVec3 &point, const std::vector< CaveHydrologyPoint > &path, const std::vector< float > &hydraulicIntensity)
 Nearest cave passage frame.
 
CaveSedimentSet createCaveSediment (const std::vector< CaveSedimentPathPoint > &path, int barCount, float strength, float paragenesis, uint32_t seed)
 Create flow-aligned cave sediment bars with upstream-imbricated gravel.
 
float carveCaveParagenesis (float x, float y, float z, float current, const CaveSedimentSet &sediment)
 Carve flow-aligned antigravitative ceiling channels above generated sediment bars.
 
float addCaveSediment (float x, float y, float z, float current, const CaveSedimentSet &sediment)
 Union sediment bars and imbricated clasts into a cave SDF.
 
bool isCaveSedimentSurface (float x, float y, float z, float tolerance, const CaveSedimentSet &sediment)
 Test whether a point lies on a generated sediment surface.
 
CaveDetachmentResult detachUnsupportedCaveFragments (std::vector< float > &density, int nx, int ny, int nz, float strength)
 Detaches unsupported cave fragments.
 
CaveSurfaceEvolutionResult evolveSurface (std::vector< float > &density, const std::vector< float > *rateField, int nx, int ny, int nz, float strength, int iterations)
 
CaveSurfaceEvolutionResult evolveCaveSurfaceByCurvature (std::vector< float > &density, int nx, int ny, int nz, float strength, int iterations=2)
 Evolve cave surface by curvature.
 
CaveSurfaceEvolutionResult evolveCaveSurfaceByCurvature (std::vector< float > &density, const std::vector< float > &rateField, int nx, int ny, int nz, float strength, int iterations=2)
 Evolve cave surface by curvature.
 
CaveSurfaceReactivityResult evolveCaveSurfaceByReactivity (std::vector< float > &density, const std::vector< float > &rateField, int nx, int ny, int nz, float strength, int iterations=2)
 Retreat rough, highly reactive surface sites using rotation-invariant normal dispersion.
 
CaveWaterTableSample sampleCaveWaterTableCorrosion (const CaveWaterTableInput &input)
 Sample laterally continuous corrosion belts left by one or more water-table stages.
 
float caveWetnessField (CaveHydrologyVec3 point, const std::vector< CaveHydrologyPoint > &drainageSpine, float fallbackRadius, uint32_t seed)
 Cave wetness field.
 
CaveWetnessRefinement refineCaveWetnessBoundary (MeshBuild &mesh, const std::vector< CaveHydrologyPoint > &drainageSpine, float fallbackRadius, uint32_t seed, bool splitBoundary)
 Refine cave wetness boundary.
 
eve::Result< void > generateFlowerMesh (const Params &params, MeshBuild &out)
 Build a small accent flower (stem + radial petals + centre).
 
int addFoliageCluster (MeshBuild &out, const FoliageClusterDesc &desc)
 Append one blue-noise leaf cluster to a mesh.
 
void registerHexTerrainAlgorithms (GeneratorRegistry &registry)
 Register hex.terrain / hex.sphere schemas when hexmap is present.
 
Result< Value > generateHexTerrain (const Params &params)
 Bake a planar hex map into the script Value hexmap applies.
 
Result< Value > generateHexSphere (const Params &params)
 Bake a spherical hex map into the script Value hexmap applies.
 
void exposeHexTerrain (ssq::Class &cls)
 Expose generateHexTerrain / generateHexSphere on the Procgen class.
 
bool generateHexTerrainMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a deterministic, flat-top hexagonal continent mesh.
 
bool generateLinearStructure (const std::string &kind, const Params &params, MeshBuild &out, std::string &error)
 Procedural linear, tileable structures (fences, walls, bridges, the Great Wall, hedges, cheval de frise, ...). Each recipe builds one tileable unit segment from axis-aligned boxes and oriented beams, then repeats it segments times along the X axis so units join seamlessly end-to-end.
 
void registerLinearStructureRecipes (MeshRecipeRegistry &registry)
 Register all built-in linear structure mesh recipes into a registry.
 
bool generateLSystemMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a grammar-based tree/plant mesh from Params.
 
void registerLSystemRecipes (MeshRecipeRegistry &registry)
 Register the mesh.lsystem grammar-based plant recipe.
 
bool generateHexPlanetMesh (const Params &params, MeshBuild &out, std::string &error)
 Build the dual of a subdivided icosahedron. The result is a closed planet made of hexagonal cells plus the twelve pentagons required by spherical topology. Params: radius (1), subdivisions (2), tileInset (0.06, in [0, 0.5)).
 
bool marchingCubes (const float *density, int nx, int ny, int nz, float isolevel, MeshBuild &out, std::string *error=nullptr)
 Classic Marching Cubes (Lorensen & Cline) over a regular scalar volume. Density >= isolevel is treated as solid; normals point toward empty space.
 
bool fillDensityField (const Params &params, std::vector< float > &density, int &nx, int &ny, int &nz, std::string &error)
 Fill a density volume from a named field recipe (sphere / noise / terrain / torus).
 
bool generateMarchingCubesMesh (const Params &params, MeshBuild &out, std::string &error)
 Build mesh from Params (field + resolution + isolevel).
 
void registerMeshDeformationGeometryRecipes (MeshRecipeRegistry &registry)
 Register the extended-plane and customizable hex-grid mesh recipes.
 
std::span< const PrototypePieceDescriptor > prototypePieceDescriptors () noexcept
 Return the stable catalogue of 75 procedural prototype modules.
 
eve::Result< MeshBuild > generatePrototypePiece (std::string_view pieceId, const Params &params)
 Build one prototype module as an owning CPU triangle mesh.
 
void registerPrototypePieceRecipes (MeshRecipeRegistry &registry)
 Register all prototype modules as prototype.* mesh recipes.
 
bool generateRockMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a shared-vertex, deformed icosphere rock for economical game props.
 
void registerRoguelikeGenerator (GeneratorRegistry &registry)
 Register the "level.roguelike" algorithm (idempotent).
 
bool autotileGridInPlace (Grid2D &grid)
 Post-process any generated Grid2D: fill each wall cell's detail with an 8-bit neighbour mask describing which adjacent cells are walkable. Useful to add direction-aware wall tiles to levels from other generators. Returns false if the grid has no wall cells (still clears detail).
 
eve::Result< void > autotileOccupiedGridInPlace (Grid2D &grid)
 Write an eight-neighbour occupancy mask into every non-empty cell's detail value.
 
uint32_t randomSeedValue ()
 Produce a fresh seed suitable for regenerating a level (never 0).
 
bool generateSkyscraperMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a deterministic procedural skyscraper. Registered as the mesh.skyscraper recipe.
 
bool generateTreeMesh (const Params &params, MeshBuild &out, std::string &error)
 Build a deterministic procedural tree. Registered as the mesh.tree recipe.
 
std::string_view procgenAttributeTypeName (ProcgenAttributeType type) noexcept
 Return the stable script/persistence name for an attribute type.
 
void exposeBiomeRules (ssq::Table &table)
 Register biome rules on the Procgen module table.
 
ArtifactType artifactType (const GeneratedArtifact::Payload &payload) noexcept
 Return the variant kind for a payload.
 
const char * artifactTypeName (ArtifactType type) noexcept
 Return the stable textual spelling of an artifact kind.
 
eve::Result< GeneratedArtifact > makeArtifact (ArtifactId id, ArtifactType type, eve::SchemaVersion schemaVersion, BuildKey buildKey, Bounds bounds, std::vector< ArtifactId > dependencies, eve::Value::Object metadata, GeneratedArtifact::Payload payload)
 Validate and construct one artifact record.
 
eve::Result< ArtifactPart > makeArtifactPart (std::string role, ArtifactId id, ArtifactType type, eve::SchemaVersion schemaVersion, BuildKey buildKey, Bounds bounds, std::vector< ArtifactId > dependencies, eve::Value::Object metadata, ArtifactLeafPayload payload)
 Validate and construct a leaf part for a composite artifact.
 
eve::Result< GeneratedArtifact > generateHexTerrainArtifact (const Params &params, ArtifactId id)
 Generate a hex-terrain composite containing mesh, collider, topology and world anchors.
 
eve::Result< GeneratedArtifact > generateCastleArtifact (const Params &params, ArtifactId id)
 Generate a castle composite containing mesh, collider, ring topology and gate/keep anchors.
 
eve::Result< GeneratedArtifact > generateMeshArtifact (std::string_view recipeId, const Params &params, ArtifactId id)
 Generate any registered mesh recipe as a CPU artifact.
 
EVENGINE_API_DOMAINS eve::Result< GeneratedArtifact > generateRoadNetworkArtifact (const Params &params, ArtifactId id)
 Generate a road composite containing mesh, collider, terrain footprint, navigation and placement points.
 
void exposeGridMeshGraphs (ssq::Table &table)
 Expose grid mesh graphs.
 
Result< int > simplifyGtsMesh (MeshBuild &output, const MeshBuild &source, float quality, const GtsMeshSimplificationOptions &options={})
 Simplify a mesh with deterministic quadric edge collapse.
 
Result< GtsMeshSplitResult > splitGtsMesh (const MeshBuild &source, int xSplits, int zSplits, GtsMeshPivot pivot=GtsMeshPivot::None)
 Split every source triangle against a regular X/Z grid like GTSMeshSplitter.
 
Result< void > splitGtsMeshInto (GtsMeshSplitResult &output, const MeshBuild &source, int xSplits, int zSplits, GtsMeshPivot pivot=GtsMeshPivot::None)
 Atomically replace an owned result with a GTS mesh split.
 
Result< GtsTerrainExportLodSettings > makeGtsTerrainImpostorLod (int level)
 Construct the exact GTS impostor preset for a zero-based LOD index.
 
Result< GtsTerrainExportLodSettings > makeGtsTerrainLowPolyLod (int level)
 Construct the exact GTS low-poly preset for a zero-based LOD index.
 
Result< void > buildGtsTerrainExportLodsFromHeightmapInto (GtsTerrainLodSet &output, const Heightmap &heightmap, const GtsTerrainExportSettings &settings, float sizeX, float sizeY, float sizeZ, int subTiles, GtsMeshPivot pivot=GtsMeshPivot::None)
 Build source-terrain LODs using the first export record's SaveResolution and the complete sequential list.
 
Result< void > buildGtsTerrainColliderMeshFromHeightmapInto (MeshBuild &output, const Heightmap &heightmap, const GtsTerrainExportWorkflow &workflow, float sizeX, float sizeY, float sizeZ)
 Build the independently sampled and simplified MeshCollider geometry requested by a workflow.
 
Result< std::string > encodeGtsTerrainObj (const Heightmap &heightmap, GtsTerrainSaveResolution resolution, float sizeX, float sizeY, float sizeZ, GtsTerrainObjFaceMode faceMode)
 Encode the original Pcg unmasked terrain OBJ coordinate, UV and face convention.
 
Result< std::string > encodeGtsMaskedTerrainObj (const Heightmap &heightmap, const Heightmap &maskmap, GtsTerrainSaveResolution resolution, float sizeX, float sizeY, float sizeZ, GtsTerrainObjFaceMode faceMode, float threshold=0.2f, bool invert=false)
 Encode Pcg's cell-classified masked terrain OBJ convention.
 
Result< int > bakeGtsTerrainVertexColorsInto (MeshBuild &output, const MeshBuild &source, const image::ImageData &bakedTexture, GtsTerrainNormalEdgeMode edgeMode, int smoothingIterations, float terrainSizeX, float terrainSizeZ, bool linearize=false)
 Apply Pcg low-poly edge processing and baked texture vertex colors atomically.
 
Result< void > buildGtsTerrainBaseMesh (MeshBuild &output, const Heightmap &heightmap, GtsTerrainSaveResolution resolution, float sizeX, float sizeY, float sizeZ)
 Build the local-space base mesh consumed by the GTS split and LOD pipeline.
 
std::vector< GtsTerrainLodLevelSettings > defaultGtsTerrainLodLevels ()
 Return the four-level quality and transition profile used by GTSMeshSettings.
 
Result< std::vector< GtsTerrainLodAssetEntry > > planGtsTerrainLodAssets (const GtsTerrainLodSet &lods, const std::string &terrainName, const std::string &meshFolder="Meshes")
 Build the deterministic object and mesh naming plan used by GTS terrain export.
 
Result< void > planGtsTerrainLodAssetsInto (GtsTerrainLodAssetPlan &output, const GtsTerrainLodSet &lods, const std::string &terrainName, const std::string &meshFolder="Meshes")
 Atomically replace a script-friendly export plan.
 
Result< GtsTerrainLodSet > buildGtsTerrainLods (const MeshBuild &source, int xSplits, int zSplits, GtsMeshPivot pivot, const std::vector< GtsTerrainLodLevelSettings > &levels)
 Split a terrain mesh and generate each tile's sequential GTS LOD chain.
 
Result< GtsTerrainLodSet > buildGtsTerrainLodsFromHeightmap (const Heightmap &heightmap, GtsTerrainSaveResolution resolution, float sizeX, float sizeY, float sizeZ, int subTileSplits, GtsMeshPivot pivot, const std::vector< GtsTerrainLodLevelSettings > &levels)
 Execute the complete GTS heightmap-to-split-LOD conversion as one atomic operation.
 
Result< void > buildDefaultGtsTerrainLodsFromHeightmapInto (GtsTerrainLodSet &output, const Heightmap &heightmap, GtsTerrainSaveResolution resolution, float sizeX, float sizeY, float sizeZ, int subTileSplits, GtsMeshPivot pivot=GtsMeshPivot::None)
 Atomically replace output with the complete default four-level GTS terrain conversion.
 
Result< void > buildGtsTerrainLodsFromHeightmapInto (GtsTerrainLodSet &output, const Heightmap &heightmap, const GtsTerrainMeshSettings &settings, float sizeX, float sizeY, float sizeZ, GtsMeshPivot pivot=GtsMeshPivot::None)
 Atomically build a complete heightmap conversion using persisted GTS mesh settings.
 
Result< TerrainCurveTextureReceipt > bakeTerrainCurveTexture (image::ImageData &output, const Heightmap &curve)
 Bake a sampled one-row curve into an existing one-row image with Pcg's exact pixel-coordinate contract.
 
void exposeTerrainCurveTexture (ssq::Table &table)
 Register the Pcg terrain curve texture adapter; VM-thread only.
 
Result< float > sampleTerrainHeightmapSafe (const Heightmap &source, int x, int z)
 Read a finite heightmap at an integer coordinate clamped to its nearest border.
 
Result< float > sampleTerrainHeightmapNormalized (const Heightmap &source, float x, float z)
 Read Pcg HeightMap's normalized bilinear sample using x*width and z*depth coordinates.
 
Result< bool > terrainHeightmapHasData (const Heightmap &source)
 Return whether a heightmap contains a valid positive-size sample array.
 
Result< bool > terrainHeightmapIsPowerOfTwo (const Heightmap &source)
 Return whether both positive heightmap dimensions are powers of two; malformed storage fails.
 
Result< int > generateTerrainHeightmapCurvature (Heightmap &target, const Heightmap &source, TerrainHeightmapCurvature mode)
 Derive Pcg HeightMap.CurvatureMap's normalized differential curvature.
 
Result< int > generateTerrainHeightmapAspect (Heightmap &target, const Heightmap &source, TerrainHeightmapAspect mode)
 Derive Pcg HeightMap.Aspect's aspect, northerness, or easterness raster.
 
Result< int > filterTerrainHeightmapNeighborhood (Heightmap &target, const Heightmap &source, int radius, TerrainHeightmapNeighborhood mode)
 Apply Pcg HeightMap.DeNoise, GrowEdges, or ShrinkEdges in source traversal order.
 
Result< int > smoothTerrainHeightmap (Heightmap &target, const Heightmap &source, int iterations)
 Apply Pcg HeightMap.Smooth's in-place four-neighbor passes.
 
Result< int > smoothTerrainHeightmapRadius (Heightmap &target, const Heightmap &source, int radius)
 Apply Pcg HeightMap.SmoothRadius's scaled sliding-window filter, including its first-row omission.
 
Result< int > convolveTerrainHeightmap (Heightmap &target, const Heightmap &source, const Heightmap &kernel)
 Apply Pcg HeightMap.Convolve with an odd square kernel and source-order in-place feedback.
 
Result< int > generateTerrainHeightmapSlope (Heightmap &target, const Heightmap &source)
 Generate Pcg HeightMap.SlopeMap's normalized gradient magnitude.
 
Result< int > quantizeTerrainHeightmap (Heightmap &target, const Heightmap &source, float divisor)
 Quantize every sample using Pcg HeightMap.Quantize's Mathf.Round rule.
 
Result< int > applyTerrainHeightmapScalarArithmetic (Heightmap &target, const Heightmap &source, float operand, TerrainHeightmapArithmetic operation, bool clampResult, float minValue, float maxValue)
 Apply a scalar Pcg HeightMap arithmetic operation with optional clamping.
 
Result< int > applyTerrainHeightmapRasterArithmetic (Heightmap &target, const Heightmap &source, const Heightmap &operand, TerrainHeightmapArithmetic operation, bool clampResult, float minValue, float maxValue)
 Apply a raster Pcg HeightMap arithmetic operation, resampling a differently sized operand.
 
Result< int > lerpTerrainHeightmap (Heightmap &target, const Heightmap &source, const Heightmap &values, const Heightmap &mask)
 Lerp source toward values under a mask using Pcg's clamped Mathf.Lerp semantics.
 
Result< int > transformTerrainHeightmap (Heightmap &target, const Heightmap &source, TerrainHeightmapTransform transform, float parameter)
 Apply Pcg Invert, Normalise, Power, or Contrast to a finite heightmap.
 
Result< int > copyTerrainHeightmap (Heightmap &target, const Heightmap &source, TerrainHeightmapCopy mode)
 Copy or conditionally merge a Pcg heightmap, resampling when dimensions differ.
 
Result< int > copyTerrainHeightmapClamped (Heightmap &target, const Heightmap &source, float minValue, float maxValue)
 Copy a Pcg heightmap with inclusive output clamping and normalized resampling.
 
Result< int > flipTerrainHeightmap (Heightmap &target, const Heightmap &source)
 Transpose a Pcg HeightMap exactly as HeightMap.Flip does.
 
Result< double > measureTerrainHeightmap (const Heightmap &source, TerrainHeightmapMeasure measure)
 Measure Pcg height range, sum, average, or scanner base level from current samples.
 
Result< int > quantizeTerrainHeightmapTerraces (Heightmap &target, const Heightmap &source, const Heightmap &startHeights, const Heightmap &curves)
 Apply Pcg's curve-driven Quantize overload using one sampled curve per raster row.
 
Result< double > measureTerrainHeightmapSlope (const Heightmap &source, float x, float y, TerrainHeightmapSlopeQuery mode)
 Evaluate one of Pcg HeightMap's three point-slope formulas.
 
Result< int > fillTerrainHeightmap (Heightmap &target, float value)
 Fill a finite Pcg heightmap with one value clamped to [0,1].
 
Result< int > setTerrainHeightmapSafe (Heightmap &target, int x, int y, float value)
 Set one sample after clamping its coordinates to the nearest border.
 
Result< int > setTerrainHeightmapRow (Heightmap &target, int rowX, const Heightmap &values)
 Set Pcg's fixed-X row from a one-dimensional strip.
 
Result< int > setTerrainHeightmapColumn (Heightmap &target, int columnZ, const Heightmap &values)
 Set Pcg's fixed-Z column from a one-dimensional strip.
 
Result< int > resetTerrainHeightmap (Heightmap &target)
 Reset a heightmap to Pcg's empty zero-by-zero state.
 
Result< TerrainMultiTileReport > applyTerrainDetailMultiTile (const std::vector< TerrainDetailTile > &tiles, const Heightmap &operationFitness, const TerrainDetailSettings &settings, const TerrainStampSettings &operationSettings, int32_t seed, bool worldMapOperation, const std::vector< std::string > &validTerrainNames)
 
Result< int > exportTerrainDetailPoints (PointSet &output, const TerrainDetailLayer &layer, const Heightmap &heights, const TerrainDetailPlacementSettings &settings)
 Expand integer detail counts into the existing attributed PointSet, atomically.
 
Result< int > applyTerrainContrast (Heightmap &target, const Heightmap &mask, float strength, float featureSize)
 Apply the nine-tap Pcg contrast equation to native scalar heights.
 
Result< int > applyTerrainSmooth (Heightmap &target, const Heightmap &mask, const TerrainSmoothSettings &settings)
 Apply Pcg's horizontal then vertical seven-pair weighted smooth passes.
 
Result< int > applyTerrainRidges (Heightmap &target, const Heightmap &mask, const TerrainRidgeSettings &settings)
 Apply ordered horizontal/vertical ridge powers, neighbor mixing and per-pass clipping.
 
Result< int > applyTerrainTerrace (Heightmap &target, const Heightmap &mask, const TerrainTerraceSettings &settings)
 Terrace scalar heights using nearest-even rounding and the shader's one-sided bevel.
 
Result< int > applyTerrainPower (Heightmap &target, const Heightmap &mask, float power)
 Apply the Pcg PowerOf control: lerp(height,pow(height,4-power),mask).
 
Result< int > applyTerrainHeightCurve (Heightmap &target, const Heightmap &mask, const Heightmap &curve, float minimum, float maximum)
 Apply the height-transform shader's smoothstep and one-row height curve.
 
Result< int > applyTerrainHeightMix (Heightmap &target, const Heightmap &local, const Heightmap &global, const TerrainHeightMixSettings &settings)
 Mix centered local brush heights into terrain, then globally mask and clip.
 
Result< int > applyTerrainThermal (Heightmap &heights, Heightmap &sediment, const TerrainThermalSettings &settings)
 Apply the source thermal equation, publishing height and sediment together.
 
EVENGINE_API_DOMAINS Result< int > applyTerrainLegacyHydraulic (Heightmap &heights, Heightmap &sediment, const Heightmap &hardness, const Heightmap &rain, const TerrainLegacyHydraulicSettings &settings)
 Apply Pcg HeightMap.ErodeHydraulic's rain, four-way water and sediment loop atomically.
 
EVENGINE_API_DOMAINS Result< int > applyTerrainLegacyDistributedErosion (Heightmap &heights, const TerrainLegacyDistributedErosionSettings &settings)
 Apply Pcg HeightMap.Erode's synchronous four-neighbor material redistribution.
 
EVENGINE_API_DOMAINS Result< int > applyTerrainLegacySteepestErosion (Heightmap &heights, const Heightmap &hardness, const TerrainLegacySteepestErosionSettings &settings)
 Apply Pcg HeightMap.ErodeThermal's ordered steepest-cardinal transport with hardness.
 
EVENGINE_API_DOMAINS Result< int > applyTerrainSediment (Heightmap &heights, Heightmap &sediment, const Heightmap &velocityX, const Heightmap &velocityZ, const TerrainWaterSettings &water, const TerrainSedimentSettings &settings)
 Apply the source sediment reaction and backtrace equations with atomic dual output.
 
TerrainFileFormat parseTerrainFileFormat (std::string_view name) noexcept
 Parse a format selector from a script-facing string.
 
eve::Result< DecodedTerrainFile > decodeTerrainFile (std::span< const std::uint8_t > bytes, TerrainFileFormat format)
 Decode a terrain height field from in-memory file bytes.
 
eve::Result< DecodedTerrainFile > loadTerrainFile (const std::string &path, TerrainFileFormat format)
 Read and decode a terrain height field through the filesystem capability.
 
Result< int > bakeTerrainGrass (graphics::GrassField &field, const PointSet &points, const std::string &asset, float width, float height)
 Upload one asset group from generated points into a grass field using its built-in atlas. Preserves roots and independent horizontal/vertical scale; 64-bit instance IDs remain in PointSet, folded to 24-bit animation phases. Asset string selects points; it is not a texture loader. Normals/yaw are not used by upright billboards.
 
Result< int > bakeTerrainGrassImage (graphics::GrassField &field, const PointSet &points, const std::string &asset, float width, float height, const image::ImageData &image)
 Upload an asset group using one original static RGBA8 texture instead of the built-in atlas. Same selection/thread/publication contract as bakeTerrainGrass; no image reference is retained. RGB and alpha are uploaded unchanged with one frame. Invalid image storage preserves the field.
 
Result< int > bakeTerrainGrassFoliage (graphics::GrassField &field, const PointSet &points, const std::string &asset, float width, float height, const image::ImageData &albedo, const image::ImageData &normal, const image::ImageData &mask, const graphics::grass::GrassFoliageSettings &settings)
 Upload a Pcg-style static foliage surface with albedo, normal and packed mask maps.
 
void exposeTerrainGrassAdapter (ssq::Table &table)
 Register full-host grass adapter; VM-thread only, no retained table reference.
 
Result< int > bakeGtsPackedLayerDisplacement (Heightmap &displacement, Heightmap &tessellation, const Heightmap &heights, const TerrainSplatmap &splatmap, const GtsPackedLayerSet &layers, double cameraX, double cameraY, double cameraZ, double tessellationMultiplier=1, double originX=0, double originY=0, double originZ=0, double spacingX=1, double spacingZ=1)
 Bake GTS planar top-four layer displacement and tessellation with its camera cutoff.
 
Result< int > bakeGtsPackedLayers (image::ImageData &albedo, image::ImageData &packedNormal, Heightmap &geoStrength, Heightmap &detailStrength, const Heightmap &heights, const TerrainSplatmap &splatmap, const GtsPackedLayerSet &layers, double originX=0, double originY=0, double originZ=0, double spacingX=1, double spacingZ=1)
 Bake planar, stochastic or triplanar GTS packed layers using one normalized splatmap.
 
Result< int > bakeTerrainSplatAlbedo (image::ImageData &output, const TerrainSplatmap &splatmap, const TerrainSplatPalette &palette)
 Blend every splat layer color into a borrowed ImageData atomically.
 
Result< int > generateGtsGlobalBlendDistance (Heightmap &output, const Heightmap &heights, double cameraX, double cameraY, double cameraZ, double blendDistance, double blendRange, double originX=0, double originY=0, double originZ=0, double spacingX=1, double spacingZ=1)
 Generate GTS camera-distance near/far blend values for a terrain raster.
 
Result< int > bakeGtsColorMapAlbedo (image::ImageData &output, const image::ImageData &colorMap, const Heightmap &globalBlendDistance, const GtsColorMapSettings &settings)
 Blend the GTS terrain colormap into an existing albedo before weather layers.
 
Result< int > bakeGtsMacroVariationAlbedo (image::ImageData &output, const image::ImageData &variationMap, const GtsMacroVariationSettings &settings, double originX=0, double originZ=0, double spacingX=1, double spacingZ=1)
 Apply GTS three-scale repeating macro variation after weather layers.
 
Result< int > bakeGtsGeologicalSurface (image::ImageData &albedo, image::ImageData &packedNormal, const Heightmap &heights, const Heightmap &layerStrength, const Heightmap &globalBlendDistance, const image::ImageData &geoAlbedo, const image::ImageData &geoNormal, const GtsGeologicalSettings &settings, double originY=0)
 Bake the GTS near/far height-axis geological color and tangent normal overlay atomically.
 
Result< int > bakeGtsDetailSurface (image::ImageData &albedo, image::ImageData &packedNormal, Heightmap &detailGreyscale, const Heightmap &layerStrength, const Heightmap &globalBlendDistance, const image::ImageData &detailNormal, const GtsDetailNormalSettings &settings, double originX=0, double originZ=0, double spacingX=1, double spacingZ=1)
 Bake GTS near/far detail normals, albedo micro-shadowing and snow-detail influence atomically.
 
Result< int > bakeGtsWeatherAlbedo (image::ImageData &output, const Heightmap &heights, const image::ImageData &snowAlbedo, const image::ImageData &snowMask, const GtsSnowSurfaceSettings &snow, const GtsRainSurfaceSettings &rain, double originX=0, double originZ=0, double spacingX=1, double spacingZ=1, const Heightmap *detailGreyscale=nullptr)
 Bake the GTS snow and rain albedo branches over an existing terrain image.
 
Result< int > bakeGtsWeatherPbr (image::ImageData &normalOutput, image::ImageData &maskOutput, Heightmap &displacement, Heightmap &tessellation, const Heightmap &heights, const image::ImageData &snowNormal, const image::ImageData &snowMask, const image::ImageData &rainData, const GtsSnowSurfaceSettings &snow, const GtsRainSurfaceSettings &rain, double timeSeconds, double originX=0, double originZ=0, double spacingX=1, double spacingZ=1)
 Bake GTS snow/rain world normals, packed mask, displacement and tessellation atomically.
 
Result< int > generateTerrainImageMaskFromImage (Heightmap &target, const Heightmap &input, const image::ImageData &image, const Heightmap &curve, const TerrainImageMaskSettings &settings, TerrainMaskBlend mode)
 Read a borrowed ImageData into scalar RGBA planes and apply the image-mask kernel atomically.
 
Result< int > combinePcgMaskMapChannels (image::ImageData &output, const image::ImageData &red, const image::ImageData &green, const image::ImageData &blue, const image::ImageData &alpha, std::uint32_t activeChannels=15)
 Combine Pcg Mask Map Export channel rasters into one RGBA image.
 
Result< int > placePcgMaskMapTileInto (image::ImageData &output, const image::ImageData &tile, int destinationX, int destinationY, int destinationWidth, int destinationHeight)
 Scale and copy one Pcg local mask-map result into a combined atlas rectangle.
 
void exposeTerrainImageAdapter (ssq::Table &table)
 Register the full-host ImageData adapter; VM-thread only, no retained table reference.
 
Result< int > generateTerrainImageMask (Heightmap &target, const Heightmap &input, const Heightmap &red, const Heightmap &green, const Heightmap &blue, const Heightmap &alpha, const Heightmap &curve, const TerrainImageMaskSettings &settings, TerrainMaskBlend mode)
 Generate the reference image-mask filter from borrowed RGBA scalar planes.
 
Result< int > applyTerrainGlobalSpawnerMask (Heightmap &target, const Heightmap &input, const Heightmap &source, const Heightmap &curve, const TerrainImageMaskSettings &settings, TerrainMaskBlend mode)
 Apply a scalar GlobalSpawnerMaskStack output through Pcg's image-mask transform, curve and blend pass.
 
Result< int > smoothTerrainMask (Heightmap &target, const Heightmap &input, float verticality, float blurRadius)
 Apply Pcg's two-pass Smooth ImageMask operation to a scalar mask.
 
Result< int > configureTerrainBrushWorld (TerrainBrushBlendSettings &target, const TerrainStampSettings &world, int contextWidth, int contextHeight, const TerrainSampleGrid &heights)
 Configure paint-context UV matrices from world sample centers and a rotated stamp footprint.
 
Result< int > generateTerrainConcavityMask (Heightmap &target, const Heightmap &input, const Heightmap &heights, const Heightmap &curve, const TerrainConcavitySettings &settings, TerrainMaskBlend mode)
 Generate source normalized-gradient concavity with border attenuation and indexed curve lookup.
 
Result< int > generateTerrainCurvatureMask (Heightmap &target, const Heightmap &input, const Heightmap &heights, const Heightmap &curve, const TerrainCurvatureSettings &settings, TerrainMaskBlend mode)
 Radially blur heights, derive source curvature, transform its curve and combine with an input mask.
 
Result< int > generateTerrainErosionMask (Heightmap &target, const Heightmap &oldHeights, const Heightmap &erosion, const Heightmap &brush, const TerrainBrushBlendSettings &spatial, const Heightmap &curve, TerrainStrengthMode mode, float strength, bool userInvert)
 Compose spatial erosion-output blending and the source's inverted strength filter atomically.
 
Result< int > growShrinkTerrainMask (Heightmap &target, const Heightmap &source, const Heightmap &curve, float distance)
 Ordered radial Grow/Shrink followed by the reference strength curve.
 
Result< int > applyTerrainStrength (Heightmap &target, const Heightmap &source, const Heightmap &curve, TerrainStrengthMode mode, float strength, bool invert)
 Apply the reference strength curve, inversion, mode and final interpolation.
 
Result< int > blendTerrainBrush (Heightmap &target, const Heightmap &oldHeights, const Heightmap &newHeights, const Heightmap &brush, const TerrainBrushBlendSettings &settings)
 Blend an erosion scalar output with old heights through transformed brush UVs.
 
Result< int > transformTerrainMask (Heightmap &target, const Heightmap &source, const Heightmap &curve)
 Transform scalar input through a clamped bilinear one-row curve texture.
 
Result< int > generateTerrainRangeMask (Heightmap &target, const Heightmap &source, float minimum, float maximum, const Heightmap &filterCurve, const Heightmap &strengthCurve)
 Generate height/range fitness with smoothstep followed by filter and strength curves.
 
Result< int > deriveTerrainSlope (Heightmap &target, const Heightmap &heights, float spacingX, float spacingZ, float heightScale=1)
 Derive the shader's slope metric 1-normal.y from world-scaled height gradients.
 
Result< int > generateTerrainDistanceMask (Heightmap &target, const TerrainDistanceMaskSettings &settings, const Heightmap &filterCurve, const Heightmap &strengthCurve)
 Generate a transformed distance mask using circle, X, Z or rounded-square coordinates.
 
Result< TerrainMultiTileReport > mapTerrainOperationMultiTile (const std::vector< TerrainOperationTile > &tiles, const TerrainStampSettings &settings, TerrainOperationDomain domain, bool worldMapOperation=false, const std::vector< std::string > &validTerrainNames={})
 Calculate Pcg-compatible local and shared pixel rectangles for any multi-terrain raster domain.
 
Result< TerrainMultiTileReport > applyTerrainStampMultiTile (const std::vector< TerrainHeightTile > &tiles, const Heightmap &stamp, const TerrainStampSettings &settings, const Heightmap &localMask, const Heightmap &globalMask, bool worldMapOperation=false, const std::vector< std::string > &validTerrainNames={})
 Apply one world-space stamp to all selected intersecting height tiles atomically.
 
Result< int > stitchTerrainHeightmaps (const TerrainHeightTile &terrainA, const TerrainHeightTile &terrainB, const TerrainHeightStitchSettings &settings={})
 Stitch the overlapping shared edge of two grid-aligned height tiles with Pcg's seam interpolation.
 
EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > applyTerrainDetailMultiTile (const std::vector< TerrainDetailTile > &tiles, const Heightmap &operationFitness, const TerrainDetailSettings &settings, const TerrainStampSettings &operationSettings, std::int32_t seed, bool worldMapOperation=false, const std::vector< std::string > &validTerrainNames={})
 Apply one shared Pcg detail-distribution raster to every selected tile atomically.
 
Result< int > generateTerrainNoiseMask (Heightmap &target, const Heightmap &input, const Heightmap &curve, const TerrainNoiseMaskSettings &settings, TerrainMaskBlend mode)
 Generate a transformed Pcg-style fBm noise source, curve it, then combine it with an input mask.
 
Result< int > exportTerrainObjectPoints (PointSet &output, const Heightmap &fitness, const Heightmap &heights, const TerrainObjectPlacementSettings &settings)
 Export Pcg-style terrain game-object resources into an attributed PointSet atomically.
 
Result< int > removeTerrainObjectPoints (PointSet &output, const PointSet &input, const Heightmap &fitness, const TerrainObjectPlacementSettings &settings, float removalStrength)
 Remove matching prototype points wherever fitness is strictly above removalStrength.
 
Result< TerrainMultiTileReport > applyTerrainObjectsMultiTile (const std::vector< TerrainObjectTile > &tiles, const Heightmap &operationFitness, const TerrainObjectPlacementSettings &settings, const TerrainStampSettings &operationSettings, TerrainObjectOperationMode mode, bool worldMapOperation, const std::vector< std::string > &validTerrainNames={})
 Apply one Pcg-style game-object rule over mapped terrain tiles atomically.
 
Result< int > exportTerrainProbePoints (PointSet &output, const Heightmap &fitness, const Heightmap &heights, const TerrainProbePlacementSettings &settings)
 Export Pcg ReflectionProbe or LightProbe placements into an owned attributed PointSet.
 
Result< TerrainMultiTileReport > applyTerrainProbesMultiTile (const std::vector< TerrainProbeTile > &tiles, const Heightmap &operationFitness, const TerrainProbePlacementSettings &settings, const TerrainStampSettings &operationSettings, TerrainProbeOperationMode mode, bool worldMapOperation=false, const std::vector< std::string > &validTerrainNames={})
 Apply one Pcg probe rule over mapped terrain tiles as one atomic transaction.
 
Result< int > alignTerrainSplatTextures (TerrainSplatmap &terrainA, TerrainSplatmap &terrainB, const TerrainTextureAlignSettings &settings)
 Blend texture weights on adjacent terrain edges using Pcg's synchronized-noise equation.
 
Result< int > paintTerrainSplatLayer (TerrainSplatmap &target, const Heightmap &paint, int targetLayer)
 Replace one terrain layer with a normalized paint raster and proportionally renormalize all other layers.
 
Result< int > applyGtsHeightBlend (TerrainSplatmap &output, const TerrainSplatmap &input, const GtsHeightBlendSet &heights, float blendFactor)
 Recompute all splat weights using the GTS texture-height blending equation.
 
Result< TerrainMultiTileReport > paintTerrainSplatLayerMultiTile (const std::vector< TerrainSplatTile > &tiles, const Heightmap &operationPaint, int targetLayer, const TerrainStampSettings &operationSettings, bool worldMapOperation=false, const std::vector< std::string > &validTerrainNames={})
 Paint one shared Pcg Texture-domain operation raster across selected tiles atomically.
 
Result< int > blendTerrainMask (Heightmap &target, const Heightmap &source, TerrainMaskBlend mode, float strength=1, bool invert=false)
 Blend one scalar raster into an existing mask stack, in call order.
 
Result< int > applyTerrainStamp (Heightmap &target, const Heightmap &stamp, const TerrainStampSettings &settings, const Heightmap &localMask, const Heightmap &globalMask)
 Apply a rotated, bilinearly sampled stamp; publish only after all checks succeed.
 
void exposeHeightmap (ssq::Table &table)
 Register heightmap and stamp value bindings; VM-thread only, retains no table reference.
 
Result< int > analyzeTerrainTerraces (Heightmap &target, const Heightmap &source, const TerrainTerraceRemovalSettings &settings)
 Classify a heightmap into Pcg's black/red/green/blue important-detail categories.
 
Result< int > removeTerrainTerraces (Heightmap &target, const Heightmap &source, const Heightmap &classification, const TerrainTerraceRemovalSettings &settings)
 Apply Pcg's adaptive smoothing, gradient noise, 3x3 filter, and fixed 5x5 Gaussian blur.
 
Result< int > exportTerrainTreePoints (PointSet &output, const Heightmap &fitness, const Heightmap &heights, const TerrainTreePlacementSettings &settings)
 Scan a terrain rectangle and atomically export accepted Pcg-style tree instances.
 
Result< int > removeTerrainTreePoints (PointSet &output, const PointSet &input, const Heightmap &fitness, const TerrainTreePlacementSettings &settings)
 Remove matching tree points wherever the current fitness is strictly above the threshold.
 
Result< int > rescaleTerrainTreePoints (PointSet &output, const PointSet &input, const TerrainTreeRescaleSettings &settings)
 Atomically refresh scale, bounds and bend metadata for one tree asset while preserving identity/transform.
 
Result< TerrainMultiTileReport > applyTerrainTreesMultiTile (const std::vector< TerrainTreeTile > &tiles, const Heightmap &operationFitness, const TerrainTreePlacementSettings &settings, const TerrainStampSettings &operationSettings, TerrainTreeOperationMode mode, bool worldMapOperation=false, const std::vector< std::string > &validTerrainNames={})
 Apply one Pcg tree distribution window across selected terrain tiles atomically.
 
Result< int > generateTerrainWaterFlowMap (Heightmap &target, const Heightmap &source, const TerrainWaterFlowMapSettings &settings)
 Generate Pcg's legacy transposed water-flow accumulation map.
 
Result< int > generateTerrainVelocityFlowMap (Heightmap &target, const Heightmap &source, int iterations)
 Generate Pcg HeightMap.FlowMap's normalized four-direction velocity magnitude.
 
std::string gridToJson (const Grid2D &grid)
 Compact JSON for debugging / reload workflows (not full Tiled).
 
bool writeGridJson (const Grid2D &grid, const std::string &path, std::string *error)
 Writes grid json.
 
Result< MeshBuild > meshAdhereResult (const MeshBuild &sourceA, const MeshBuild &surfaceB, const MeshContactBlendParams &params)
 One-shot adhere of A onto B (soft snap on) using contact blend.
 
Result< MeshBuild > meshBooleanResult (const MeshBuild &left, const MeshBuild &right, std::string_view operation)
 Evaluate a closed-triangle solid boolean using a BSP polygon split.
 
void rebuildSoftSnapContactNormals (MeshBuild &mesh)
 Rebuild triangle normals then 1-ring-average them (soft-snap / post-weld lighting).
 
Result< MeshBuild > meshContactBlendResult (const MeshBuild &mesh, const std::vector< std::int32_t > &vertexSourceIds, const MeshContactBlendParams &params)
 Fuse edge normals / optional positions and material blend weights across source slices.
 
Result< MeshBuild > meshContactBlendAgainstSurfaceResult (const MeshBuild &movable, const MeshBuild &surface, const MeshContactBlendParams &params)
 Deform movable toward surface only (dynamic adhere / one-way fusion).
 
Result< MeshBuild > mergeStaticMeshes (const MeshMergePlan &plan)
 Merge planned static meshes into one owning MeshBuild.
 
void exposeMeshModifierGraph (ssq::Table &table)
 Register MeshModifierGraph script types on the Procgen module table.
 
Result< MeshBuild > projectMeshUvResult (const MeshBuild &input, std::string_view mode, float scale=1.f, float offsetU=0.f, float offsetV=0.f)
 Generate topology-preserving UVs for a procedural or deformed mesh.
 
Result< MeshSurfaceUv > mapMeshSurfacePointToUvResult (const MeshBuild &mesh, int triangleIndex, float x, float y, float z)
 Map a surface point on a dynamic-mesh triangle to its interpolated UV.
 
void exposeModuleAssembly (ssq::Table &table)
 Bind the VM-owned assembly planner synchronously on the VM owner thread.
 
void exposePcgFrameRateManagerBindings (ssq::Table &table)
 Register Pcg frame-rate manager bindings.
 
Result< int > combinePcgStaticMeshesInto (MeshBuild &output, const PcgMeshCombinePlan &plan)
 Combine static meshes with Pcg material deduplication and root-relative transforms.
 
Result< void > buildPcgMeshLodsInto (PcgMeshLodSet &output, const MeshBuild &source, const PcgMeshLodProfile &profile)
 Generate a complete generic Pcg LOD chain and publish it atomically.
 
Result< void > buildPcgCombinedMeshLodsInto (PcgMeshLodSet &output, const PcgMeshCombinePlan &plan, const PcgMeshLodProfile &profile)
 Combine an ordered static-renderer plan and generate every combined LOD atomically.
 
void exposePcgTaskQueueBindings (ssq::Table &table)
 Register PcgTaskQueue Squirrel bindings.
 
Result< std::uint64_t > fingerprintPointSet (const PointSet &points)
 Compute an exact deterministic fingerprint, rejecting missing or duplicate ids.
 
Result< PointDelta > diffPointSets (const PointSet &before, const PointSet &after)
 Compute an identity-based delta without mutating either snapshot.
 
Result< PointSet > applyPointDelta (const PointSet &base, const PointDelta &delta)
 Apply a delta atomically, rejecting stale or internally inconsistent input.
 
void exposePointGraph (ssq::Table &table)
 Register PointGraph script types on the Procgen module table.
 
void appendPointRow (PointSet &output, const PointSet &input, std::size_t index)
 
uint32_t deriveSeed (uint32_t parent, const std::string &scope)
 Stable label-based seed derivation; independent pipeline branches do not perturb each other.
 
std::uint64_t derivePointId (std::uint64_t namespaceId, std::uint64_t ordinal)
 Deterministically derive a non-zero stable point identity.
 
PointSet sampleGridPoints (int width, int depth, float spacing, uint32_t seed, float jitter)
 Sample grid points.
 
PointSet poissonDiskPoints (int width, int depth, float radius, uint32_t seed, int maxPoints)
 Bridson blue-noise (Poisson disk) samples in a width x depth area (XZ, y=0).
 
PointSet filterPointHeight (const PointSet &input, float minHeight, float maxHeight)
 Filter point height.
 
PointSet filterPointDensity (const PointSet &input, float minDensity, float maxDensity)
 Filter point density.
 
PointSet filterPointBox (const PointSet &input, float minX, float minY, float minZ, float maxX, float maxY, float maxZ, bool invert)
 Filter point box.
 
PointSet filterPointSlope (const PointSet &input, float minDegrees, float maxDegrees)
 Filter point slope.
 
PointSet filterPointsByPolygon (const PointSet &input, const PointSet &polygon, bool invert)
 Filter points by polygon.
 
PointSet filterPointsBySplineDistance (const PointSet &input, const PointSet &controlPoints, float minDistance, float maxDistance)
 Filter points by spline distance.
 
PointSet excludePointRadius (const PointSet &input, float x, float z, float radius)
 Exclude point radius.
 
Result< PointSet > excludePointsByGridMask (const PointSet &input, const Grid2D &mask, float originX, float originZ, float cellSize, int semantic, float clearance, std::size_t maximumChecks)
 Remove points covered by a semantic grid mask plus optional world-space clearance.
 
PointSet jitterPointPositions (const PointSet &input, uint32_t seed, float amountX, float amountZ)
 Jitter point positions.
 
PointSet selfPrunePoints (const PointSet &input, float radius)
 Self prune points.
 
PointSet samplePolylinePoints (const PointSet &controlPoints, float spacing, uint32_t seed, float lateralJitter)
 Sample polyline points.
 
PointSet mergePointSets (const PointSet &first, const PointSet &second)
 Concatenate two attributed point collections while preserving order.
 
PointSet unionPointSets (const PointSet &first, const PointSet &second)
 Stable union by non-zero point id, with legacy position-and-seed fallback.
 
PointSet intersectPointSets (const PointSet &first, const PointSet &second)
 Keep first-set points whose stable or legacy identity occurs in the second set.
 
PointSet differencePointSets (const PointSet &first, const PointSet &second)
 Remove first-set points whose stable or legacy identity occurs in the second set.
 
PointSet transformPointSet (const PointSet &input, float translateX, float translateY, float translateZ, float yawDegrees, float scaleX, float scaleY, float scaleZ)
 Apply translation, yaw rotation and non-uniform scale to points and their transforms.
 
PointSet transformPointSet3D (const PointSet &input, float translateX, float translateY, float translateZ, float pitchDegrees, float yawDegrees, float rollDegrees, float scaleX, float scaleY, float scaleZ)
 Apply translation, pitch/yaw/roll rotation and non-uniform scale.
 
PointSet copyPointsToTargets (const PointSet &source, const PointSet &targets, bool inheritTargetAttributes)
 Instantiate source points relative to targets in stable target-major order.
 
PointSet remapPointDensity (const PointSet &input, float inputMin, float inputMax, float outputMin, float outputMax, bool clampOutput)
 Linearly remap point density between ranges with optional output clamping.
 
PointSet filterPointStringAttribute (const PointSet &input, const std::string &name, const std::string &value, bool invert)
 Select points whose named string attribute equals a value.
 
PointSet densityCullPoints (const PointSet &input, uint32_t seed, float multiplier)
 Deterministically keep points according to density and a root seed.
 
PointSet densityFromNormal (const PointSet &input, float minDegrees, float maxDegrees, float outputMin, float outputMax, bool invert)
 Remap surface slope (from normals) into density.
 
PointSet modifyPointBounds (const PointSet &input, float scaleX, float scaleY, float scaleZ, float padX, float padY, float padZ)
 Scale and pad each point's local bounds about its center.
 
PointSet assignWeightedMeshAttribute (const PointSet &input, uint32_t seed, const std::string &attribute, const std::string *meshes, const float *weights, int entryCount)
 Deterministically assign a weighted mesh path string attribute.
 
void ensurePointSetDataRow (PointSet &points)
 Return whether name is a known $-prefixed float point-field selector.
 
bool isPointFloatSelector (std::string_view name) noexcept
 True when point float selector.
 
bool isPointFloatChannel (std::string_view name) noexcept
 Return whether name is a valid float channel (builtin selector or metadata name).
 
EVENGINE_API_DOMAINS Result< float > readPointFloatChannel (const PointSet &points, int index, std::string_view name, float defaultValue)
 Read a float metadata column or closed $ point-field selector.
 
Result< void > writePointFloatChannel (PointSet &points, int index, std::string_view name, float value)
 Write a float metadata column or closed $ point-field selector.
 
PointSet mathPointFloatAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &operation, float operand, float defaultValue)
 Apply one scalar operation to a float metadata attribute or $ selector.
 
EVENGINE_API_DOMAINS PointSet filterPointFloatAttribute (const PointSet &input, const std::string &name, float minValue, float maxValue, bool invert)
 Select points whose named float attribute or $ selector lies in an inclusive range.
 
PointSet filterPointIntAttribute (const PointSet &input, const std::string &name, std::int64_t minValue, std::int64_t maxValue, bool invert)
 Select points whose named int attribute lies in an inclusive range.
 
PointSet filterPointBoolAttribute (const PointSet &input, const std::string &name, bool value, bool invert)
 Select points whose named bool attribute equals a value.
 
Result< PointSet > copyPointAttribute (const PointSet &input, const std::string &source, const std::string &target)
 Copy one float channel or typed metadata column onto another name.
 
Result< PointSet > renamePointAttribute (const PointSet &input, const std::string &from, const std::string &to)
 Rename one metadata column.
 
Result< PointSet > deletePointAttribute (const PointSet &input, const std::string &name)
 Delete one metadata column.
 
Result< PointSet > transferPointAttribute (const PointSet &target, const PointSet &source, const std::string &attribute, const std::string &outputAttribute, const std::string &mode)
 Transfer one attribute from source onto target points.
 
PointSet setPointIntAttribute (const PointSet &input, const std::string &attribute, std::int64_t value)
 Write a constant int metadata column on every point.
 
PointSet setPointBoolAttribute (const PointSet &input, const std::string &attribute, bool value)
 Write a constant bool metadata column on every point.
 
PointSet setPointVectorAttribute (const PointSet &input, const std::string &attribute, float x, float y, float z)
 Write a constant vector metadata column on every point.
 
Result< PointSet > comparePointFloatAttribute (const PointSet &input, const std::string &attribute, const std::string &comparison, float operand, const std::string &outputAttribute, float defaultValue)
 Compare a float channel against an operand and write a bool metadata column.
 
Result< PointSet > selectPointFloatAttribute (const PointSet &input, const std::string &conditionAttribute, const std::string &trueAttribute, const std::string &falseAttribute, const std::string &outputAttribute, float trueDefault, float falseDefault)
 Select between two float channels using a bool metadata condition.
 
EVENGINE_API_DOMAINS PointSet partitionPointAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &mode)
 Assign partition indices from a string/int attribute (mode: value|hash).
 
EVENGINE_API_DOMAINS PointSet noisePointFloatAttribute (const PointSet &input, const std::string &attribute, uint32_t seed, float frequency, float amplitude, float offset)
 Write deterministic float noise into a metadata attribute.
 
PointSet mathPointIntAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &operation, std::int64_t operand, std::int64_t defaultValue)
 Apply integer math to an int metadata column.
 
PointSet mathPointVectorAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &operation, float operandX, float operandY, float operandZ, float defaultX, float defaultY, float defaultZ)
 Apply vector math to a vector metadata column.
 
EVENGINE_API_DOMAINS Result< void > setPointDataFloatAttribute (PointSet &points, const std::string &attribute, float value)
 Write a float into the PointSet @Data domain.
 
Result< void > setPointDataIntAttribute (PointSet &points, const std::string &attribute, std::int64_t value)
 Write an int into the PointSet @Data domain.
 
Result< void > setPointDataStringAttribute (PointSet &points, const std::string &attribute, const std::string &value)
 Write a string into the PointSet @Data domain.
 
 Module_IMPL (Procgen, new Procgen())
 
void registerProcgenCapabilities ()
 Registers procgen capabilities.
 
void exposeRuntimeGeneration (ssq::Table &table)
 Register owner-thread runtime-generation script interfaces.
 
void exposeScriptGeneratorHost (ssq::Class &cls)
 Add the synchronous script-generator host API to the Procgen facade.
 
const char * semanticName (uint32_t id)
 Semantic name.
 
uint32_t semanticId (const std::string &name)
 Semantic id.
 
void exposeShapeGrammar (ssq::Table &table)
 Register shape-grammar script types on the Procgen module table.
 
PointSet sampleSpatialOntoChannel (const PointSet &input, const SpatialData &spatial, std::string_view channel, float inputMin, float inputMax, float outputMin, float outputMax, bool clampOutput, bool invert)
 Remap SpatialData::sampleScalar onto a float channel ($Density or metadata). When inputMin equals inputMax, heightfields auto-use Y bounds and texture masks use 0..1.
 
const std::vector< TextureRecipeDef > & builtinTextureDefs ()
 All built-in texture definitions (albedo + PBR). Populated lazily.
 
eve::Result< std::unique_ptr< image::ImageData > > generateSteelCableTexture (const Params &params)
 Generate a parameterized steel-cable braid albedo (tex.cable.steel). @ownership On success the caller exclusively owns the returned ImageData.
 
eve::Result< std::unique_ptr< image::ImageData > > generateIronChainTexture (const Params &params)
 Generate a parameterized iron / rusted metal albedo (tex.chain.iron). @ownership On success the caller exclusively owns the returned ImageData.
 
eve::Result< std::unique_ptr< image::ImageData > > generateHempRopeTexture (const Params &params)
 Generate a parameterized hemp-rope fiber albedo (tex.rope.hemp). @ownership On success the caller exclusively owns the returned ImageData.
 
eve::Result< std::unique_ptr< PbrTextureSet > > generateSteelCablePbr (const Params &params)
 Full PBR map set for steel cable (pbr.cable.steel). @ownership On success the caller exclusively owns the returned set and all maps.
 
eve::Result< std::unique_ptr< PbrTextureSet > > generateIronChainPbr (const Params &params)
 Full PBR map set for iron chain metal (pbr.chain.iron). @ownership On success the caller exclusively owns the returned set and all maps.
 
eve::Result< std::unique_ptr< PbrTextureSet > > generateHempRopePbr (const Params &params)
 Full PBR map set for hemp rope (pbr.rope.hemp). @ownership On success the caller exclusively owns the returned set and all maps.
 
void registerCableTextureRecipes (TextureRecipeRegistry &registry)
 Register tex.cable.steel / tex.chain.iron / tex.rope.hemp.
 
void registerCablePbrRecipes (PbrRecipeRegistry &registry)
 Register pbr.cable.steel / pbr.chain.iron / pbr.rope.hemp.
 
eve::Result< std::unique_ptr< image::ImageData > > generateWoodFloorTexture (const Params &params)
 Generate a parameterized wood-floor albedo (tex.floor.wood). @ownership On success the caller exclusively owns the returned ImageData.
 
eve::Result< std::unique_ptr< image::ImageData > > generateTileFloorTexture (const Params &params)
 Generate a parameterized ceramic / patterned floor-tile albedo (tex.floor.tile). @ownership On success the caller exclusively owns the returned ImageData.
 
eve::Result< std::unique_ptr< PbrTextureSet > > generateWoodFloorPbr (const Params &params)
 Generate a full PBR map set for wood floors (pbr.floor.wood). @ownership On success the caller exclusively owns the returned set and all maps.
 
eve::Result< std::unique_ptr< PbrTextureSet > > generateTileFloorPbr (const Params &params)
 Generate a full PBR map set for ceramic / patterned tiles (pbr.floor.tile). @ownership On success the caller exclusively owns the returned set and all maps.
 
void registerFloorTextureRecipes (TextureRecipeRegistry &registry)
 Register tex.floor.wood and tex.floor.tile with schema metadata.
 
void registerFloorPbrRecipes (PbrRecipeRegistry &registry)
 Register pbr.floor.wood and pbr.floor.tile with schema metadata.
 
std::unique_ptr< image::ImageData > grayscaleImage (const std::vector< float > &values, int w, int h)
 Builds a grayscale RGBA8 image and returns unique ownership to the caller.
 
std::unique_ptr< PbrTextureSet > generatePbrSet (const TextureRecipeDef &def, const Params &params, std::string &error)
 Builds a full PBR set from a texture definition and returns unique ownership.
 
std::span< const PrototypeTextureDescriptor > prototypeTextureDescriptors () noexcept
 Return the stable catalogue of 13 procedural prototype patterns.
 
eve::Result< std::unique_ptr< image::ImageData > > generatePrototypeTexture (std::string_view patternId, const Params &params)
 Generate a parameterized RGBA8 prototype texture without loading an image asset. @ownership On success the caller exclusively owns the returned ImageData. @lifetime The returned image remains valid until the caller releases it; params are borrowed only for this call.
 
void registerPrototypeTextureRecipes (TextureRecipeRegistry &registry)
 Register all patterns as tex.prototype.* texture recipes.
 
RecipeDescriptor makeTextureRecipeDescriptor (const TextureRecipeDef &definition)
 Build editable metadata for a texture definition.
 
void fillHeightField (const TextureGenContext &ctx, const std::function< float(float, float, const NoiseField &)> &fn, std::vector< float > &height)
 Sample a height function over the full [w×h] grid into height (clamped to [0,1]).
 
void paintHeightToImage (image::ImageData &img, const std::vector< float > &height, int w, int h, const ColorRamp &ramp, int bands, int pixelSize)
 Paint height to image.
 
std::unique_ptr< image::ImageData > heightToNormalImage (const std::vector< float > &height, int w, int h, float strength, bool seamless)
 Builds a normal-map image and transfers its unique ownership to the caller.
 
std::uint16_t toTilePresetConfiguration (std::uint8_t neighbourMask) noexcept
 Convert EVEngine's N/E/S/W/NE/SE/SW/NW mask to the reference 3x3 configuration.
 
TilePresetVariant resolveTilePreset (std::uint8_t neighbourMask) noexcept
 Resolve the exact TileWorldCreator 4.3.5 standard-grid category and transform tables.
 
std::string_view tilePresetKindName (TilePresetKind kind) noexcept
 Stable lowercase identifier used in mesh build-layer group names.
 

类型定义说明

◆ ArtifactId

Common strong UUID identity for one published procedural artifact.

备注
The procgen namespace is a source-compatible alias only. UUID parsing, formatting, hashing, ordering and child derivation are owned by eve::StrongUuid in the common layer.

在文件 GeneratedArtifact.h 第 43 行定义.

◆ ArtifactLeafPayload

Leaf payloads used by a CompositeArtifact.

在文件 GeneratedArtifact.h 第 145 行定义.

◆ ArtifactPublishOptions

◆ GeneratorDescriptor

Backward-compatible name for the shared recipe schema.

在文件 GeneratorRegistry.h 第 20 行定义.

◆ GeneratorFn

using eve::procgen::GeneratorFn = typedef std::function<bool(const Params &params, Grid2D &out, std::string &error)>

在文件 GeneratorRegistry.h 第 17 行定义.

◆ GridGraphValue

using eve::procgen::GridGraphValue = typedef std::variant<Grid2D, PointSet>

Strong runtime value passed between typed GridGraph ports.

在文件 GridGraph.h 第 20 行定义.

◆ IGraphicsArtifactAdapter

◆ IMapArtifactAdapter

◆ IPhysicsArtifactAdapter

◆ ISceneArtifactAdapter

◆ MeshData

Existing dense CPU mesh type under the artifact vocabulary.

在文件 GeneratedArtifact.h 第 142 行定义.

◆ MeshGraphValue

using eve::procgen::MeshGraphValue = typedef std::variant<Grid2D, PointSet, MeshBuild>

Strong values accepted by MeshGraph ports.

在文件 MeshGraph.h 第 18 行定义.

◆ MeshRecipeFn

using eve::procgen::MeshRecipeFn = typedef std::function<bool(const Params &params, MeshBuild &out, std::string &error)>

在文件 MarchingCubes.h 第 38 行定义.

◆ PbrRecipeFn

using eve::procgen::PbrRecipeFn = typedef std::function<std::unique_ptr<PbrTextureSet>(const Params &params, std::string &error)>

Recipe returns a newly owned full PBR set, or null on failure.

在文件 PbrMaterial.h 第 52 行定义.

◆ PreparedArtifactPublish

◆ ProcgenBiomeRulesHandleRef

◆ ProcgenCloudFieldHandleRef

◆ ProcgenCloudShadowHandleRef

◆ ProcgenContextHandleRef

◆ ProcgenDynamicMeshUvPaintSessionHandleRef

◆ ProcgenGridGraphHandleRef

◆ ProcgenGridHandleRef

◆ ProcgenHeightmapHandleRef

◆ ProcgenImageHandleRef

◆ ProcgenLSystemHandleRef

◆ ProcgenMeshBuildHandleRef

◆ ProcgenMeshDeformationSessionHandleRef

◆ ProcgenMeshGraphHandleRef

◆ ProcgenMeshModifierGraphHandleRef

◆ ProcgenNormalImageHandleRef

◆ ProcgenOutputHandleRef

◆ ProcgenParamsHandleRef

◆ ProcgenPbrMaterialHandleRef

◆ ProcgenPointGraphHandleRef

◆ ProcgenPointSetHandleRef

◆ ProcgenRuntimeGenerationHandleRef

◆ ProcgenShapeGrammarHandleRef

◆ ProcgenSpatialDataHandleRef

◆ ProcgenSplinePathHandleRef

◆ ProcgenTerrainSamplerHandleRef

◆ TerrainSpawnRule

◆ TextureRecipeFn

using eve::procgen::TextureRecipeFn = typedef std::function<std::unique_ptr<image::ImageData>(const Params &params, std::string &error)>

Recipe returns a newly owned RGBA8 image, or null on failure.

在文件 TextureRecipe.h 第 24 行定义.

枚举类型说明

◆ ArtifactType

enum class eve::procgen::ArtifactType : std::uint8_t
strong

Runtime payload kind; it is checked against the variant on publish.

枚举值
Grid 
PointSet 
MeshData 
ImageData 
Collider 
Composite 

在文件 GeneratedArtifact.h 第 109 行定义.

◆ Biome

enum class eve::procgen::Biome : uint8_t
strong

Biome public API.

枚举值
Ocean 
Beach 
Desert 
Grassland 
Forest 
Rainforest 
Tundra 
Taiga 
Alpine 
River 
Lake 
Wetland 

在文件 TerrainPipeline.h 第 35 行定义.

◆ CaveNormalStatus

enum class eve::procgen::CaveNormalStatus
strong

CaveNormalStatus public API.

枚举值
applied 
unknownMode 

在文件 CaveNormals.h 第 11 行定义.

◆ GridGraphValueType

enum class eve::procgen::GridGraphValueType : std::uint8_t
strong

Declared output kind of a GridGraph operation.

枚举值
Grid 
PointSet 

在文件 GridGraph.h 第 23 行定义.

◆ GtsMeshPivot

enum class eve::procgen::GtsMeshPivot
strong

Pivot translation applied independently to each GTS split mesh.

枚举值
None 
MinimumXZ 
CenterXZ 

在文件 GtsMeshSplitter.h 第 11 行定义.

◆ GtsSourceTerrainTreatment

enum class eve::procgen::GtsSourceTerrainTreatment : int
strong

Treatment applied to a source terrain after a successful conversion commit.

枚举值
Nothing 
Deactivate 
StoreInBackup 
Delete 

在文件 GtsTerrainExportSettings.h 第 30 行定义.

◆ GtsTerrainAlphaChannel

enum class eve::procgen::GtsTerrainAlphaChannel : int
strong

Optional channel placed in the exported texture alpha channel.

枚举值
None 
Heightmap 

在文件 GtsTerrainExportSettings.h 第 24 行定义.

◆ GtsTerrainBakeLighting

enum class eve::procgen::GtsTerrainBakeLighting : int
strong

Lighting state used while baking exported textures.

枚举值
NeutralLighting 
CurrentSceneLighting 

在文件 GtsTerrainExportSettings.h 第 22 行定义.

◆ GtsTerrainColliderType

enum class eve::procgen::GtsTerrainColliderType : int
strong

Collider representation requested by the export workflow.

枚举值
Mesh 
Heightfield 

在文件 GtsTerrainExportSettings.h 第 34 行定义.

◆ GtsTerrainConversionAction

Operation performed for the selected source terrain.

枚举值
MeshTerrain 
ColliderOnly 
ObjFileExport 

在文件 GtsTerrainExportSettings.h 第 28 行定义.

◆ GtsTerrainExportSelection

enum class eve::procgen::GtsTerrainExportSelection : int
strong

Source selection scope used by a terrain export.

枚举值
AllTerrains 
SingleTerrain 

在文件 GtsTerrainExportSettings.h 第 32 行定义.

◆ GtsTerrainExportShader

enum class eve::procgen::GtsTerrainExportShader : int
strong

Native material family created for an exported terrain level.

枚举值
Standard 
VertexColor 

在文件 GtsTerrainExportSettings.h 第 26 行定义.

◆ GtsTerrainLodMode

enum class eve::procgen::GtsTerrainLodMode : int
strong

Purpose assigned to one exported terrain LOD.

枚举值
Impostor 
LowPoly 
Custom 

在文件 GtsTerrainExportSettings.h 第 16 行定义.

◆ GtsTerrainNormalEdgeMode

enum class eve::procgen::GtsTerrainNormalEdgeMode : int
strong

Edge-normal treatment requested for an exported terrain mesh.

枚举值
Smooth 
Sharp 

在文件 GtsTerrainExportSettings.h 第 18 行定义.

◆ GtsTerrainObjFaceMode

enum class eve::procgen::GtsTerrainObjFaceMode : int
strong

Polygon representation written by the Pcg terrain OBJ exporter.

枚举值
Triangles 
Quads 

在文件 GtsTerrainExportSettings.h 第 36 行定义.

◆ GtsTerrainSaveResolution

enum class eve::procgen::GtsTerrainSaveResolution : int
strong

Pcg/GTS power-of-two sampling reduction used before terrain mesh export.

枚举值
Full 
Half 
Quarter 
Eighth 
Sixteenth 

在文件 GtsTerrainLod.h 第 18 行定义.

◆ GtsTerrainTextureExportMethod

Texture source used by a terrain export level.

枚举值
OrthographicBake 
BaseMapExport 

在文件 GtsTerrainExportSettings.h 第 20 行定义.

◆ ModuleFacing

enum class eve::procgen::ModuleFacing : unsigned char
strong

Horizontal or vertical face used by grid-module connection constraints.

枚举值
North 
East 
South 
West 
Up 
Down 

在文件 ModuleAssembly.h 第 13 行定义.

◆ ParamKind

enum class eve::procgen::ParamKind
strong

Semantic type used by schema-driven recipe parameter editors.

枚举值
Integer 
Float 
Boolean 
String 
Choice 

在文件 ParamSchema.h 第 11 行定义.

◆ PcgBiomeLoadMode

enum class eve::procgen::PcgBiomeLoadMode
strong

Pcg TerrainLoader activation modes retained by a biome controller.

枚举值
Disabled 
EditorSelected 
EditorAlways 
RuntimeAlways 

在文件 PcgBiomeController.h 第 9 行定义.

◆ PcgRuntimeStampStatus

Observable lifecycle of Pcg's runtime stamper sample.

枚举值
Idle 
AwaitingResource 
Loaded 
Completed 
Failed 

在文件 PcgRuntimeStamper.h 第 11 行定义.

◆ PcgSpawnProgressStatus

Observable lifecycle of a Pcg spawning progress operation.

枚举值
Hidden 
Active 
CancelRequested 
Completed 

在文件 PcgSpawnProgress.h 第 6 行定义.

◆ PcgTaskQueueStatus

Observable state of Pcg's delayed task processor.

枚举值
Idle 
Waiting 
Ready 

在文件 PcgTaskQueue.h 第 10 行定义.

◆ PcgTerrainChangeType

Pcg terrain hierarchy change kind.

枚举值
Created 
Removed 

在文件 PcgTerrainWatcher.h 第 11 行定义.

◆ PcgTerrainStreamingTier

Runtime representation selected by Pcg's regular and impostor ranges.

枚举值
Regular 
Impostor 
Unloaded 

在文件 PcgTerrainStreaming.h 第 11 行定义.

◆ PcgTerrainTextureTier

Terrain material tier selected from Pcg's basemap distance.

枚举值
Detailed 
Basemap 

在文件 PcgTerrainPhotoMode.h 第 17 行定义.

◆ ProcgenAttributeType

enum class eve::procgen::ProcgenAttributeType : std::uint8_t
strong

Closed set of column types supported by procedural point metadata.

枚举值
Float 
Int 
Bool 
Vector 
String 

在文件 AttributeTable.h 第 23 行定义.

◆ TerrainCollisionMaskType

Pcg baked collision-mask source categories and their inversion convention.

枚举值
RadiusTree 
RadiusTag 
LayerGameObject 
LayerTree 

在文件 TerrainCollisionMask.h 第 12 行定义.

◆ TerrainDetailMode

Native detail-density operation corresponding to Pcg SpawnMode.

枚举值
Replace 
Add 
Remove 

在文件 TerrainDetailLayer.h 第 15 行定义.

◆ TerrainDistanceAxis

Distance coordinates used by the Pcg distance-mask shader.

枚举值
Circle 
X 
Z 
RoundedSquare 

在文件 TerrainMask.h 第 189 行定义.

◆ TerrainFileFormat

enum class eve::procgen::TerrainFileFormat : std::uint8_t
strong

Persisted terrain encodings the runtime can decode.

Evtr is the chunked, PackBits-compressed EVTR archive produced by TerrainAsset::bake (UNORM16 heights plus hydrology and climate layers). Evtrn is the raw float32 heightfield.bin payload written next to an eve.terrain/1 asset definition. They are unrelated blobs, so the format is normally detected from the magic rather than named by the caller. Pcg RAW variants have no magic and therefore require an explicit format selector.

枚举值
Auto 

Detect from the leading magic bytes.

Evtr 

Chunked EVTR archive.

Evtrn 

Raw EVTRN heightfield blob.

Raw8 

Headerless square 8-bit Pcg RAW samples.

Raw16LE 

Headerless square 16-bit little-endian (IBM) Pcg RAW samples.

Raw16BE 

Headerless square 16-bit big-endian (Mac) Pcg RAW samples.

在文件 TerrainFile.h 第 22 行定义.

◆ TerrainHeightmapArithmetic

Pcg HeightMap pointwise arithmetic operations.

枚举值
Add 
Subtract 
Multiply 
Divide 

在文件 TerrainDerivedMap.h 第 38 行定义.

◆ TerrainHeightmapAspect

Pcg HeightMap.Aspect modes in source enum order.

枚举值
Aspect 
Northerness 
Easterness 

在文件 TerrainDerivedMap.h 第 34 行定义.

◆ TerrainHeightmapCopy

Pcg HeightMap.Copy conditional modes in source enum order.

枚举值
Always 
IfLess 
IfGreater 

在文件 TerrainDerivedMap.h 第 42 行定义.

◆ TerrainHeightmapCurvature

Pcg HeightMap.CurvatureMap modes in source enum order.

枚举值
Average 
Horizontal 
Vertical 

在文件 TerrainDerivedMap.h 第 32 行定义.

◆ TerrainHeightmapMeasure

Pcg HeightMap read-only scalar measurements.

枚举值
Minimum 
Maximum 
Sum 
Average 
BaseLevel 

在文件 TerrainDerivedMap.h 第 44 行定义.

◆ TerrainHeightmapNeighborhood

Pcg HeightMap neighborhood mutation modes.

枚举值
DeNoise 
GrowEdges 
ShrinkEdges 

在文件 TerrainDerivedMap.h 第 36 行定义.

◆ TerrainHeightmapSlopeQuery

Pcg HeightMap point slope query variants.

枚举值
GridForward 
NormalizedCentral 
NormalizedAverage 

在文件 TerrainDerivedMap.h 第 46 行定义.

◆ TerrainHeightmapTransform

Pcg HeightMap whole-raster value transforms.

枚举值
Invert 
Normalise 
Power 
Contrast 

在文件 TerrainDerivedMap.h 第 40 行定义.

◆ TerrainImageFilter

Reference image selection modes; MaximumRgb is not luminance.

枚举值
MaximumRgb 
ColorSelection 
Red 
Green 
Blue 
Alpha 

在文件 TerrainImageMask.h 第 8 行定义.

◆ TerrainMaskBlend

enum class eve::procgen::TerrainMaskBlend
strong

Ordered scalar-mask arithmetic; intermediate values are not clamped.

枚举值
Multiply 
Maximum 
Minimum 
Add 
Subtract 

在文件 TerrainStamp.h 第 9 行定义.

◆ TerrainNoiseType

enum class eve::procgen::TerrainNoiseType
strong

Pcg NoiseLib families available to the native scalar mask generator.

枚举值
Perlin 
Value 
Billow 
Ridge 
Voronoi 

在文件 TerrainNoiseMask.h 第 11 行定义.

◆ TerrainObjectOperationMode

enum class eve::procgen::TerrainObjectOperationMode : std::uint8_t
strong

Mutation performed by a multi-terrain game-object operation.

枚举值
Add 
Replace 
Remove 

在文件 TerrainObjectPlacement.h 第 21 行定义.

◆ TerrainObjectScaleMode

enum class eve::procgen::TerrainObjectScaleMode : std::uint8_t
strong

Pcg-compatible scale policy for one terrain object instance resource.

枚举值
Fixed 
Random 
Fitness 
FitnessRandomized 

在文件 TerrainObjectPlacement.h 第 17 行定义.

◆ TerrainObjectYOffsetMode

enum class eve::procgen::TerrainObjectYOffsetMode : std::uint8_t
strong

Height reference used by one terrain object instance resource.

枚举值
TerrainHeight 
SeaLevel 
Custom 

在文件 TerrainObjectPlacement.h 第 19 行定义.

◆ TerrainOperationDomain

Pcg multi-terrain pixel domain; only heightmaps share the border sample between adjacent tiles.

枚举值
Heightmap 
Texture 
Tree 
TerrainDetail 
GameObject 
BakedMask 

在文件 TerrainMultiTile.h 第 30 行定义.

◆ TerrainPolygonMaskType

Pcg PolyMask topology: open strokes only, or closed flood fill plus strokes.

枚举值
Open 
Closed 

在文件 TerrainPolygonMask.h 第 11 行定义.

◆ TerrainProbeOperationMode

enum class eve::procgen::TerrainProbeOperationMode : std::uint8_t
strong

Mutation performed by a multi-terrain probe rule.

枚举值
Add 
Replace 
Remove 

在文件 TerrainProbePlacement.h 第 14 行定义.

◆ TerrainProbeType

enum class eve::procgen::TerrainProbeType : std::uint8_t
strong

Pcg probe resource kind.

枚举值
Reflection 
Light 

在文件 TerrainProbePlacement.h 第 12 行定义.

◆ TerrainSessionAccess

Edit policy for the owned operation history and terrain.

枚举值
Editable 
Locked 

在文件 TerrainGenerationSession.h 第 18 行定义.

◆ TerrainSessionRunStatus

Observable lifecycle of a caller-driven staged session replay.

枚举值
Idle 
Pending 
Completed 
Cancelled 
Failed 

在文件 TerrainGenerationSession.h 第 20 行定义.

◆ TerrainStampOperation

Native height operations, in terrain height units (not Unity packed heights).

枚举值
Raise 
Lower 
Blend 
Set 
Add 
Subtract 

在文件 TerrainStamp.h 第 12 行定义.

◆ TerrainStrengthMode

StrengthTransform pass order; source pass 0 named Multiply actually replaces with the curve value.

枚举值
Replace 
Maximum 
Minimum 
Add 
Subtract 

在文件 TerrainMask.h 第 82 行定义.

◆ TerrainTerraceClass

Numeric values written by analyzeTerrainTerraces, matching the source mask colors.

枚举值
Black 
Red 
Green 
Blue 

在文件 TerrainTerraceRemover.h 第 24 行定义.

◆ TerrainTreeOperationMode

enum class eve::procgen::TerrainTreeOperationMode : std::uint8_t
strong

Pcg SetTerrainTrees operation branch. Add and Replace both append after upstream clearing policy.

枚举值
Add 
Replace 
Remove 

在文件 TerrainTreePlacement.h 第 55 行定义.

◆ TerrainTreeScaleMode

enum class eve::procgen::TerrainTreeScaleMode : std::uint8_t
strong

Pcg-compatible rules for deriving tree scale from placement fitness.

枚举值
Fixed 
Fitness 
Random 
FitnessRandomized 

在文件 TerrainTreePlacement.h 第 17 行定义.

◆ TerrainTreeYOffsetMode

enum class eve::procgen::TerrainTreeYOffsetMode : std::uint8_t
strong

Height reference used when a tree does not snap directly to terrain.

枚举值
TerrainHeight 
SeaLevel 
Custom 

在文件 TerrainTreePlacement.h 第 20 行定义.

◆ TerrainWaterChannel

Stored scalar channels; Pcg erosion masks read FluxRight or VelocityX, not vector magnitude.

枚举值
Depth 
VelocityX 
VelocityZ 
FluxRight 
FluxLeft 
FluxBottom 
FluxTop 

在文件 TerrainWaterField.h 第 11 行定义.

◆ TerrainWorldRunStatus

Observable lifecycle of a caller-driven staged world spawn.

枚举值
Idle 
Pending 
Completed 
Cancelled 
Failed 

在文件 TerrainWorldWorkspace.h 第 26 行定义.

◆ TilePresetKind

enum class eve::procgen::TilePresetKind : std::uint8_t
strong

TileWorldCreator-compatible standard-grid tile categories.

枚举值
None 
DeadEnd 
Single 
Fill 
CornerWay 
CornerFill 
InteriorCorner 
DoubleCorner 
EdgeWay 
EdgeFill 
ThreeWay 
ThreeWayFill 
EdgeCornerFill 
ThreeCorner 
FourWay 

在文件 TilePreset.h 第 11 行定义.

函数说明

◆ addCaveBreakdownBlocks()

EVENGINE_API_DOMAINS float eve::procgen::addCaveBreakdownBlocks ( float  x,
float  y,
float  z,
float  current,
const CaveBreakdownSet &  breakdown 
)

Union the event's landed breakdown blocks into a cave SDF.

在文件 CaveBreakdown.cpp 第 90 行定义.

引用了 current, eve::procgen::CaveBreakdownSet::events, x, y , 以及 z.

◆ addCaveSediment()

EVENGINE_API_DOMAINS float eve::procgen::addCaveSediment ( float  x,
float  y,
float  z,
float  current,
const CaveSedimentSet &  sediment 
)

Union sediment bars and imbricated clasts into a cave SDF.

在文件 CaveSediment.cpp 第 171 行定义.

引用了 current, sediment, x, y , 以及 z.

◆ addFoliageCluster()

EVENGINE_API_DOMAINS int eve::procgen::addFoliageCluster ( MeshBuild &  out,
const FoliageClusterDesc &  desc 
)

Append one blue-noise leaf cluster to a mesh.

The call is deterministic for a given FoliageClusterDesc and appends leaves in a stable order. Positions, normals and UVs follow the usual MeshBuild layout; UVs stay inside [uvMin, uvMax] on U.

参数
outDestination mesh, appended to in place.
descCluster description; out-of-range fields are clamped, never rejected.
返回
Number of leaves appended (0 when the description degenerates).

在文件 FoliageCluster.cpp 第 125 行定义.

引用了 center, desc, index, length, origin, p, planeNormal, planes, point, position, radius, right, roll, size, tangent, tilt, weight , 以及 yaw.

◆ alignTerrainSplatTextures()

EVENGINE_API_DOMAINS Result< int > eve::procgen::alignTerrainSplatTextures ( TerrainSplatmap &  terrainA,
TerrainSplatmap &  terrainB,
const TerrainTextureAlignSettings &  settings 
)

Blend texture weights on adjacent terrain edges using Pcg's synchronized-noise equation.

参数
terrainAFirst exclusively borrowed splatmap owner.
terrainBSecond exclusively borrowed splatmap owner; must be distinct from terrainA.
settingsFinite world geometry and blend controls, borrowed only for this call.
返回
Total changed texels across both maps, or a structured failure with neither map modified.

在文件 TerrainSplatmap.cpp 第 116 行定义.

◆ analyzeTerrainTerraces()

EVENGINE_API_DOMAINS Result< int > eve::procgen::analyzeTerrainTerraces ( Heightmap &  target,
const Heightmap &  source,
const TerrainTerraceRemovalSettings &  settings 
)

Classify a heightmap into Pcg's black/red/green/blue important-detail categories.

参数
targetExclusively borrowed matching output; aliases with source are rejected.
sourceBorrowed finite height samples, never retained.
settingsFinite nonnegative thresholds with minimum not greater than maximum.
返回
Changed category samples or InvalidArgument; failure preserves target.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access; no callbacks, implicit time, or retained references.

在文件 TerrainTerraceRemover.cpp 第 22 行定义.

引用了 at, Black, Blue, current, Green, height, eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), Red, s, source, target, valid, width, x , 以及 y.

◆ appendPointRow()

◆ applyCaveSurfaceNormals()

CaveNormalStatus eve::procgen::applyCaveSurfaceNormals ( MeshBuild &  mesh,
const std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
float  width,
float  height,
float  depth,
const std::string &  mode,
float  blend,
std::string &  error 
)

◆ applyGtsHeightBlend()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyGtsHeightBlend ( TerrainSplatmap &  output,
const TerrainSplatmap &  input,
const GtsHeightBlendSet &  heights,
float  blendFactor 
)

Recompute all splat weights using the GTS texture-height blending equation.

返回
Changed texel count or InvalidArgument; output remains unchanged on failure.

在文件 TerrainSplatmap.cpp 第 239 行定义.

◆ applyPointDelta()

◆ applyTerrainContrast()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainContrast ( Heightmap &  target,
const Heightmap &  mask,
float  strength,
float  featureSize 
)

Apply the nine-tap Pcg contrast equation to native scalar heights.

参数
targetExclusively borrowed finite destination; also the source snapshot.
maskBorrowed finite raster of matching dimensions, values in [0,1]; may alias target.
strengthFinite nonnegative blend strength; values above 1 extrapolate (Pcg default is 2).
featureSizeFinite nonnegative sample offset in texels; fractional offsets use clamped bilinear sampling.
返回
Changed count or InvalidArgument; invalid input/overflow leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; no retained pointers, callbacks, RNG or clock. Output retains caller units without Unity height packing or output clamping. Cross-tile filtering requires caller-provided neighboring samples (halo then crop).

在文件 TerrainEffect.cpp 第 26 行定义.

引用了 d, featureSize, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, eve::procgen::raster_detail::publish(), strength, target, value, x , 以及 y.

◆ applyTerrainDetailMultiTile() [1/2]

Result< TerrainMultiTileReport > eve::procgen::applyTerrainDetailMultiTile ( const std::vector< TerrainDetailTile > &  tiles,
const Heightmap &  operationFitness,
const TerrainDetailSettings &  settings,
const TerrainStampSettings &  operationSettings,
int32_t  seed,
bool  worldMapOperation,
const std::vector< std::string > &  validTerrainNames 
)

◆ applyTerrainDetailMultiTile() [2/2]

EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > eve::procgen::applyTerrainDetailMultiTile ( const std::vector< TerrainDetailTile > &  tiles,
const Heightmap &  operationFitness,
const TerrainDetailSettings &  settings,
const TerrainStampSettings &  operationSettings,
std::int32_t  seed,
bool  worldMapOperation = false,
const std::vector< std::string > &  validTerrainNames = {} 
)

Apply one shared Pcg detail-distribution raster to every selected tile atomically.

参数
tilesBorrowed distinct initialized detail owners with matching dimensions and aligned world geometry.
operationFitnessBorrowed finite raster matching the calculated shared operation rectangle.
settingsPcg detail mode, thresholds and target density.
operationSettingsWorld-space operation rectangle used to derive per-tile mappings.
seedExplicit signed seed for one XorshiftPlus stream shared across tiles in descriptor order.
worldMapOperationSelect ordinary or world-map tiles.
validTerrainNamesOptional exact allow-list.
返回
Affected mappings and changed-cell total, or InvalidArgument; all layers publish together. @ownership Retains no pointer or raster. Caller exclusively owns every layer on one thread for the call.

◆ applyTerrainGlobalSpawnerMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainGlobalSpawnerMask ( Heightmap &  target,
const Heightmap &  input,
const Heightmap &  source,
const Heightmap &  curve,
const TerrainImageMaskSettings &  settings,
TerrainMaskBlend  mode 
)

Apply a scalar GlobalSpawnerMaskStack output through Pcg's image-mask transform, curve and blend pass.

参数
targetExclusively borrowed output matching input; aliases with input/source/curve are permitted.
inputBorrowed current ordered mask-stack value.
sourceBorrowed finite scalar output of the referenced global spawner mask stack.
curveBorrowed finite nonempty one-row strength curve.
settingsImage-mask UV transform; filter is ignored because the scalar source is replicated to RGBA.
modeMultiply, maximum, minimum, add or subtract.
返回
Changed count or InvalidArgument atomically.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; no retained resources, callbacks, time, or RNG.

在文件 TerrainImageMask.cpp 第 89 行定义.

引用了 curve, generateTerrainImageMask(), input, Red, settings, source , 以及 target.

◆ applyTerrainHeightCurve()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainHeightCurve ( Heightmap &  target,
const Heightmap &  mask,
const Heightmap &  curve,
float  minimum,
float  maximum 
)

Apply the height-transform shader's smoothstep and one-row height curve.

参数
targetExclusively borrowed finite scalar heights, without hidden normalization.
maskBorrowed matching unit raster; may alias target.
curveBorrowed finite nonempty one-row Clamp/Bilinear texture; may alias target.
minimumFinite smoothstep lower bound.
maximumFinite upper bound, greater than minimum.
返回
Changed count or InvalidArgument; overflow/invalid inputs leave target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target; no retained borrows/callbacks/RNG/time. Output is lerp(height,(maximum-minimum)*curve(smoothstep(minimum,maximum,height)),mask). The source shader does not add minimum back to the transformed value.

在文件 TerrainEffect.cpp 第 160 行定义.

引用了 curve, eve::procgen::raster_detail::curveSample(), eve::procgen::Heightmap::getHeight(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, maximum, minimum, eve::procgen::raster_detail::publish(), range, t, target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ applyTerrainHeightmapRasterArithmetic()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainHeightmapRasterArithmetic ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  operand,
TerrainHeightmapArithmetic  operation,
bool  clampResult,
float  minValue,
float  maxValue 
)

Apply a raster Pcg HeightMap arithmetic operation, resampling a differently sized operand.

参数
targetExclusively borrowed matching output; it may alias either input.
sourceBorrowed finite left operand matching target.
operandBorrowed finite right operand, sampled with Pcg normalized coordinates when dimensions differ.
operationArithmetic operation in Pcg source order.
clampResultWhether to clamp each result to minValue and maxValue.
minValueFinite lower clamp bound.
maxValueFinite upper clamp bound, not less than minValue.
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 312 行定义.

引用了 Divide, height, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), operation, output, eve::procgen::raster_detail::publish(), right, source, target, eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

◆ applyTerrainHeightmapScalarArithmetic()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainHeightmapScalarArithmetic ( Heightmap &  target,
const Heightmap &  source,
float  operand,
TerrainHeightmapArithmetic  operation,
bool  clampResult,
float  minValue,
float  maxValue 
)

Apply a scalar Pcg HeightMap arithmetic operation with optional clamping.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input.
operandFinite scalar right operand; division requires nonzero.
operationArithmetic operation in Pcg source order.
clampResultWhether to clamp each result to minValue and maxValue.
minValueFinite lower clamp bound.
maxValueFinite upper clamp bound, not less than minValue.
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 293 行定义.

引用了 Divide, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), operation, output, eve::procgen::raster_detail::publish(), source, target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ applyTerrainHeightMix()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainHeightMix ( Heightmap &  target,
const Heightmap &  local,
const Heightmap &  global,
const TerrainHeightMixSettings &  settings 
)

Mix centered local brush heights into terrain, then globally mask and clip.

参数
targetExclusively borrowed finite scalar heights.
localBorrowed finite matching local brush raster; may alias target or global.
globalBorrowed matching unit raster; may alias target, fixed for the entire operation.
settingsFinite controls: ordered ranges, unit midpoint, nonnegative strength (above 1 allowed).
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target; no retained borrows/callbacks/RNG/time. Computes clamp(height+(local-midpoint)*(maximum-minimum)*strength*global,clipMinimum,clipMaximum). Zero global mask still clips, as in the source shader. Rasters cover the full operation footprint; brush-UV transforms and out-of-footprint preservation belong to the caller's rasterization stage.

在文件 TerrainEffect.cpp 第 179 行定义.

引用了 eve::procgen::Heightmap::data(), global, eve::procgen::raster_detail::invalid(), local, eve::procgen::raster_detail::publish(), settings, target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ applyTerrainLegacyDistributedErosion()

Result< int > eve::procgen::applyTerrainLegacyDistributedErosion ( Heightmap &  heights,
const TerrainLegacyDistributedErosionSettings &  settings 
)

Apply Pcg HeightMap.Erode's synchronous four-neighbor material redistribution.

参数
heightsExclusively borrowed finite terrain raster.
settingsFinite thresholds in [0,1], minimum below maximum, and nonnegative iterations.
返回
Changed samples or InvalidArgument; failure preserves heights.
异常
std::bad_allocHeights remains unchanged. @thread Synchronous caller-owned access; deterministic with no callbacks, RNG, clock or retained references. Border cells are sources only indirectly: every iteration scans interior cells, moves half the greatest accepted drop from each source, distributes it across all lower cardinal neighbors by relative drop, then publishes the diff.

在文件 TerrainLegacyThermal.cpp 第 7 行定义.

引用了 at, current, eve::procgen::Heightmap::data(), depth, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), eve::procgen::TerrainThermalSettings::iterations, maximum, eve::procgen::raster_detail::publish(), settings, source, eve::Result< T >::success(), eve::procgen::raster_detail::validRaster(), value, width, x , 以及 z.

◆ applyTerrainLegacyHydraulic()

Result< int > eve::procgen::applyTerrainLegacyHydraulic ( Heightmap &  heights,
Heightmap &  sediment,
const Heightmap &  hardness,
const Heightmap &  rain,
const TerrainLegacyHydraulicSettings &  settings 
)

Apply Pcg HeightMap.ErodeHydraulic's rain, four-way water and sediment loop atomically.

参数
heightsExclusively borrowed finite normalized terrain, modified and clamped to [0,1].
sedimentExclusively borrowed matching finite signed sediment, distinct from all inputs.
hardnessBorrowed matching finite [0,1] resistance map; it may alias either output.
rainBorrowed matching finite nonnegative periodic rainfall; it may alias either output.
settingsNonnegative iterations, positive rain frequency and dissolve rate in [0,1].
返回
Cells where height or sediment changed, or InvalidArgument; failure preserves both outputs.
异常
std::bad_allocBoth outputs remain unchanged. @thread Synchronous caller-owned access; inputs are snapshotted and no references, callbacks, RNG or clock remain. Each iteration adds rain when iteration modulo rainFrequency is zero, accumulates four-way flux with TIME=0.2, updates water, moves newly dissolved material to every strictly lower 8-neighbor in proportion to height drop, evaporates 1/rainFrequency, and clears the sediment delta. The unused source water-diff raster is omitted.

在文件 TerrainLegacyHydraulic.cpp 第 7 行定义.

引用了 count, eve::procgen::Heightmap::data(), depth, direction, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), index, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), eve::procgen::TerrainThermalSettings::iterations, n, nx, nz, scale, sediment, settings, eve::Result< T >::success(), terrain, time, unit, eve::procgen::raster_detail::validRaster(), value, water, width, x , 以及 z.

◆ applyTerrainLegacySteepestErosion()

Result< int > eve::procgen::applyTerrainLegacySteepestErosion ( Heightmap &  heights,
const Heightmap &  hardness,
const TerrainLegacySteepestErosionSettings &  settings 
)

Apply Pcg HeightMap.ErodeThermal's ordered steepest-cardinal transport with hardness.

参数
heightsExclusively borrowed finite terrain raster.
hardnessBorrowed finite [0,1] raster of any positive size; snapshotted before mutation.
settingsFinite talus bounds in [0,1], minimum not above maximum, and nonnegative iterations.
返回
Changed samples or InvalidArgument; failure preserves heights.
异常
std::bad_allocHeights remains unchanged. @thread Synchronous caller-owned access; deterministic X-major/Z-minor in-place traversal, no retained references. Strict-greater tie selection is bottom, left, right, top source order. Hardness uses Pcg's normalized width/depth bilinear sampler; each accepted move transfers half the steepest drop times one minus hardness.

在文件 TerrainLegacyThermal.cpp 第 64 行定义.

引用了 at, eve::procgen::Heightmap::data(), depth, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), eve::procgen::TerrainThermalSettings::iterations, maximum, eve::procgen::raster_detail::publish(), settings, source, unit, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 z.

◆ applyTerrainObjectsMultiTile()

Result< TerrainMultiTileReport > eve::procgen::applyTerrainObjectsMultiTile ( const std::vector< TerrainObjectTile > &  tiles,
const Heightmap &  operationFitness,
const TerrainObjectPlacementSettings &  settings,
const TerrainStampSettings &  operationSettings,
TerrainObjectOperationMode  mode,
bool  worldMapOperation,
const std::vector< std::string > &  validTerrainNames = {} 
)

Apply one Pcg-style game-object rule over mapped terrain tiles atomically.

返回
Mapping report whose changedSamples counts emitted or removed child objects. @ownership PointSet owners must be distinct and remain valid for the call. No pointer is retained. One injected seed drives a single RNG stream in mapping order; accepted centers collide across tile seams.

在文件 TerrainObjectPlacement.cpp 第 235 行定义.

引用了 a, Add, c, count, Custom, eve::procgen::Heightmap::data(), direction, eve::Diagnostic::error(), eve::Result< T >::failure(), Fitness, FitnessRandomized, GameObject, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::ProcgenPoint::id, eve::InvalidArgument, eve::InvariantViolation, eve::procgen::raster_detail::isRepresentable(), mapTerrainOperationMultiTile(), normal, ox, p, pitch, point, px, py, r, radius, Random, random, Remove, Replace, resource, roll, s, eve::procgen::raster_detail::sample(), SeaLevel, source, strength, eve::Result< T >::success(), sx, sy, sz, target, tiles, u, v, eve::procgen::raster_detail::validRaster(), value, x, yaw , 以及 z.

被这些函数引用 eve::procgen::TerrainWorldWorkspace::applyObjects().

◆ applyTerrainPower()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainPower ( Heightmap &  target,
const Heightmap &  mask,
float  power 
)

Apply the Pcg PowerOf control: lerp(height,pow(height,4-power),mask).

参数
targetExclusively borrowed finite scalar heights; no automatic normalization.
maskBorrowed matching unit raster; zero mask preserves the sample, may alias target.
powerFinite source UI control, not the exponent. Negative masked heights and zero masked heights with nonpositive exponent are rejected as undefined shader inputs.
返回
Changed count or InvalidArgument (including overflow); failure is atomic.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target; no retained borrows/callbacks/RNG/time.

在文件 TerrainEffect.cpp 第 142 行定义.

引用了 eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, power, eve::procgen::raster_detail::publish(), target , 以及 value.

◆ applyTerrainProbesMultiTile()

EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > eve::procgen::applyTerrainProbesMultiTile ( const std::vector< TerrainProbeTile > &  tiles,
const Heightmap &  operationFitness,
const TerrainProbePlacementSettings &  settings,
const TerrainStampSettings &  operationSettings,
TerrainProbeOperationMode  mode,
bool  worldMapOperation = false,
const std::vector< std::string > &  validTerrainNames = {} 
)

Apply one Pcg probe rule over mapped terrain tiles as one atomic transaction.

返回
Mapping report whose changedSamples counts emitted or removed probes. @ownership Tile outputs must be distinct. No pointer, raster, callback or RNG state is retained. One seed drives a single stream in mapping order; Replace/Remove match the stable probe resource name.

在文件 TerrainProbePlacement.cpp 第 102 行定义.

引用了 Add, clip, eve::procgen::Heightmap::data(), eve::Diagnostic::error(), eve::Result< T >::failure(), GameObject, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::ProcgenPoint::id, eve::InvalidArgument, eve::InvariantViolation, eve::procgen::raster_detail::isRepresentable(), Light, mapTerrainOperationMultiTile(), operation, point, points, random, Reflection, Remove, resource, s, source, strength, eve::Result< T >::success(), eve::procgen::raster_detail::textureSample(), tiles, type, u, v, eve::procgen::raster_detail::validRaster(), value, x, y , 以及 z.

被这些函数引用 eve::procgen::TerrainWorldWorkspace::applyProbes().

◆ applyTerrainRidges()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainRidges ( Heightmap &  target,
const Heightmap &  mask,
const TerrainRidgeSettings &  settings 
)

Apply ordered horizontal/vertical ridge powers, neighbor mixing and per-pass clipping.

参数
targetExclusively borrowed finite destination and source snapshot.
maskBorrowed matching unit raster; remains fixed across passes, may alias target.
settingsFinite controls: positive exponent, unit strengths, minimum<maximum, nonnegative passes (zero is identity). Every pass clamps all output to the bounds, including zero-mask samples, matching the shader's final clamp.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target; no retained borrows/callbacks/RNG/time. Edge neighbors clamp; tiled callers require a halo covering the requested passes.

在文件 TerrainEffect.cpp 第 89 行定义.

引用了 a, b, bottom, current, h, index, eve::procgen::raster_detail::invalid(), left, mask, eve::procgen::raster_detail::publish(), right, settings, target, top, value, x , 以及 y.

◆ applyTerrainSediment()

Result< int > eve::procgen::applyTerrainSediment ( Heightmap &  heights,
Heightmap &  sediment,
const Heightmap &  velocityX,
const Heightmap &  velocityZ,
const TerrainWaterSettings &  water,
const TerrainSedimentSettings &  settings 
)

Apply the source sediment reaction and backtrace equations with atomic dual output.

参数
heightsExclusively borrowed nonnegative finite scalar heights.
sedimentExclusively borrowed matching finite signed sediment; distinct from heights.
velocityXBorrowed matching finite velocity raster; may alias either output.
velocityZBorrowed matching finite velocity raster; may alias either output.
waterFinite nonnegative dt and positive spacing; other water settings are not used.
settingsFinite effect and nonnegative deposition coefficients.
返回
Cells where either output changed, or InvalidArgument; failure leaves both unchanged.
异常
std::bad_allocBoth outputs remain unchanged. @thread Synchronous exclusive output access, immutable input snapshots, no retained references or callbacks. Retains the source's additive sediment output, dimension-divided backtrace fractions and mixed X/Y sample index. Zero gradients use slope factor zero; out-of-range integer sediment samples are explicitly zero. No conservative transport claim or GPU bit parity. At zero velocity and zero deposit rate, nonnegative sediment doubles, including when dt is zero.

在文件 TerrainSediment.cpp 第 7 行定义.

引用了 bottom, bx, bz, eve::procgen::Heightmap::data(), dx, dz, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), height, eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), left, right, s, sediment, eve::Result< T >::success(), sx, top, v, eve::procgen::raster_detail::validRaster(), water, width, x , 以及 z.

被这些函数引用 eve::procgen::TerrainWaterField::advanceHydraulic().

◆ applyTerrainSmooth()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainSmooth ( Heightmap &  target,
const Heightmap &  mask,
const TerrainSmoothSettings &  settings 
)

Apply Pcg's horizontal then vertical seven-pair weighted smooth passes.

参数
targetExclusively borrowed finite destination and source snapshot.
maskBorrowed matching raster in [0,1]; fixed across both passes, including when aliased.
settingsFinite controls, nonnegative radius. Negative verticality only lowers; positive verticality only raises. Vertical radius is radius*height/width, retaining the source shader's use of texelSize.x in both passes on rectangular rasters.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target; no retained borrows, callbacks, RNG or time. Samples use Clamp/Bilinear; tiled callers supply a halo and crop. No height packing.

在文件 TerrainEffect.cpp 第 49 行定义.

引用了 current, dx, dy, index, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, offset, eve::procgen::raster_detail::publish(), radius, settings, target, value, weights, x , 以及 y.

被这些函数引用 smoothTerrainMask().

◆ applyTerrainStamp()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainStamp ( Heightmap &  target,
const Heightmap &  stamp,
const TerrainStampSettings &  settings,
const Heightmap &  localMask,
const Heightmap &  globalMask 
)

Apply a rotated, bilinearly sampled stamp; publish only after all checks succeed.

参数
targetBorrowed mutable terrain; unchanged on invalid input or non-finite output.
stampBorrowed finite height raster; may alias target.
settingsWorld placement and height operation; positive finite spacing/extents required.
localMaskBorrowed raster, sampled in stamp UVs; multiplies stamp height before amplitude/base.
globalMaskBorrowed raster, sampled in stamp UVs; clamps to [0,1] and weights the final height change. Both masks may have independent resolutions; a 1x1 raster containing 1 disables masking. Outside the rotated stamp rectangle, target is unchanged. Raise/Lower take max/min with baseHeight+amplitude*stamp*localMask; Set uses that level; Blend interpolates to it by blendStrength; Add/Subtract add/subtract that level. Mask arithmetic is native scalar arithmetic: Unity adaptive-base, packed-height clamping, curve textures and MixHeight are not implemented by this API.
返回
Changed sample count, or InvalidArgument without modifying target.
异常
std::bad_allocAllocation failure; target remains unchanged. @thread Exclusive target access; all other inputs immutable for this synchronous call. No borrowed data is retained and no callbacks are invoked. No RNG/time.

在文件 TerrainStamp.cpp 第 41 行定义.

引用了 Add, Blend, c, dx, dz, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), level, Lower, eve::procgen::raster_detail::publish(), Raise, s, eve::procgen::raster_detail::sample(), Set, stamp, Subtract, target, u, v, eve::procgen::raster_detail::validRaster(), weight, x , 以及 y.

被这些函数引用 applyTerrainStampMultiTile() , 以及 eve::procgen::PcgRuntimeStamper::execute().

◆ applyTerrainStampMultiTile()

EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > eve::procgen::applyTerrainStampMultiTile ( const std::vector< TerrainHeightTile > &  tiles,
const Heightmap &  stamp,
const TerrainStampSettings &  settings,
const Heightmap &  localMask,
const Heightmap &  globalMask,
bool  worldMapOperation = false,
const std::vector< std::string > &  validTerrainNames = {} 
)

Apply one world-space stamp to all selected intersecting height tiles atomically.

参数
tilesBorrowed tile descriptors. Heightmaps must be distinct, finite, nonempty, share one resolution and have positive finite extents. Tile origins must align to whole (resolution-1) spans.
stampBorrowed finite stamp raster.
settingsWorld-space stamp configuration. Per-tile origin/spacing are derived from descriptors.
localMaskBorrowed finite local stamp mask.
globalMaskBorrowed finite global stamp mask.
worldMapOperationSelect ordinary or world-map tiles, matching Pcg's separate operation domain.
validTerrainNamesOptional exact allow-list; empty selects every intersecting tile in the domain.
返回
Report containing Pcg-compatible local/operation pixel rectangles, or InvalidArgument.
异常
std::bad_alloc;all target heightmaps remain unchanged. @ownership Retains no descriptor, pointer, raster, callback or scene link. Caller exclusively owns every target on one thread for the entire call. All candidates finish before any tile publishes. No RNG/time.

在文件 TerrainMultiTile.cpp 第 170 行定义.

引用了 eve::procgen::TerrainMultiTileReport::affectedTiles, applyTerrainStamp(), c, eve::procgen::TerrainMultiTileReport::changedSamples, eve::Result< T >::failure(), finite, height, eve::procgen::TerrainMultiTileReport::mappings, name, eve::procgen::TerrainMultiTileReport::operationHeight, eve::procgen::TerrainMultiTileReport::operationWidth, eve::procgen::TerrainMultiTileReport::operationX, eve::procgen::TerrainMultiTileReport::operationY, eve::procgen::TerrainStampSettings::originX, eve::procgen::TerrainStampSettings::originZ, referenceX, referenceZ, s, settings, spacingX, eve::procgen::TerrainStampSettings::spacingX, spacingZ, eve::procgen::TerrainStampSettings::spacingZ, stamp, eve::Result< T >::success(), tiles, v, eve::procgen::raster_detail::validRaster() , 以及 width.

被这些函数引用 eve::procgen::TerrainWorldWorkspace::stamp().

◆ applyTerrainStrength()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainStrength ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  curve,
TerrainStrengthMode  mode,
float  strength,
bool  invert 
)

Apply the reference strength curve, inversion, mode and final interpolation.

参数
targetExclusively borrowed finite raster, same shape as source; input aliases permitted.
sourceBorrowed finite scalar input.
curveBorrowed finite nonempty one-row Clamp/Bilinear lookup.
modeCurve replacement, max, min, addition or subtraction before interpolation.
strengthFinite weight in [0,1]. Output is not clamped.
invertInvert the sampled curve value before the mode operation.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access, immutable input snapshots, no retained borrows/callbacks.

在文件 TerrainMask.cpp 第 239 行定义.

引用了 Add, curve, eve::procgen::raster_detail::curveSample(), eve::procgen::Heightmap::getHeight(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Maximum, Minimum, output, eve::procgen::raster_detail::publish(), Replace, source, strength, Subtract, target, eve::procgen::raster_detail::validRaster() , 以及 value.

被这些函数引用 generateTerrainErosionMask().

◆ applyTerrainTerrace()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainTerrace ( Heightmap &  target,
const Heightmap &  mask,
const TerrainTerraceSettings &  settings 
)

Terrace scalar heights using nearest-even rounding and the shader's one-sided bevel.

参数
targetExclusively borrowed finite destination and source snapshot, no automatic normalization.
maskBorrowed matching unit raster; may alias target.
settingsFinite controls; positive count, unit bevel and strength.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target; no retained borrows/callbacks/RNG/time.

在文件 TerrainEffect.cpp 第 125 行定义.

引用了 eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, eve::procgen::raster_detail::publish(), settings, target , 以及 value.

◆ applyTerrainThermal()

EVENGINE_API_DOMAINS Result< int > eve::procgen::applyTerrainThermal ( Heightmap &  heights,
Heightmap &  sediment,
const TerrainThermalSettings &  settings 
)

Apply the source thermal equation, publishing height and sediment together.

参数
heightsExclusively borrowed nonnegative finite terrain raster, in caller scalar units.
sedimentExclusively borrowed matching finite signed accumulation raster. Positive delta means removed terrain, negative delta means added terrain. Must not alias heights.
settingsFinite positive spacing/height scale, nonnegative slope/dt/iterations. Zero iterations or dt is identity. Caller injects dt; no wall clock or RNG is used.
返回
Count of cells where either output changed, or InvalidArgument. Validation, overflow and allocation failure leave both outputs unchanged, including after multiple substeps.
异常
std::bad_allocBoth destinations remain unchanged. @thread Synchronous exclusive access to both outputs; no retained borrows or callbacks. Each substep reads a snapshot with clamped edges. Cardinal slope-selected differences have weight 1, diagonals 0.707. Movement is clamp(dt*sum/16,-height/2,height/2). This is the Pcg scalar kernel, not TerrainPipeline's conservative talus redistribution. The signed sediment accumulation balances each cell's height change up to float rounding; terrain-only mass conservation is not implied. No Unity height packing is performed.

在文件 TerrainErosion.cpp 第 7 行定义.

引用了 bottom, current, eve::procgen::Heightmap::data(), diagonal, distance, eve::procgen::TerrainThermalSettings::dt, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), h, height, eve::procgen::TerrainThermalSettings::heightScale, index, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), eve::procgen::TerrainThermalSettings::iterations, left, n, eve::procgen::TerrainThermalSettings::reposeSlope, right, sediment, settings, eve::procgen::TerrainThermalSettings::spacingX, eve::procgen::TerrainThermalSettings::spacingZ, eve::Result< T >::success(), top, eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

被这些函数引用 eve::procgen::TerrainWaterField::advanceHydraulic().

◆ applyTerrainTreesMultiTile()

EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > eve::procgen::applyTerrainTreesMultiTile ( const std::vector< TerrainTreeTile > &  tiles,
const Heightmap &  operationFitness,
const TerrainTreePlacementSettings &  settings,
const TerrainStampSettings &  operationSettings,
TerrainTreeOperationMode  mode,
bool  worldMapOperation = false,
const std::vector< std::string > &  validTerrainNames = {} 
)

Apply one Pcg tree distribution window across selected terrain tiles atomically.

参数
tilesBorrowed distinct PointSet owners and finite height rasters in deterministic traversal order.
operationFitnessBorrowed normalized raster matching the calculated Tree-domain operation window.
settingsPrototype, spacing, density, scale and explicit RNG/identity settings; tile geometry is overridden.
operationSettingsFinite positive world operation bounds.
modeAdd/Replace append existing points as Pcg SetTerrainTrees does; Remove filters matching assets.
worldMapOperationSelect ordinary or world-map tiles.
validTerrainNamesOptional exact allow-list.
返回
Mapping report with emitted or removed point total in changedSamples, or a structured diagnostic. @ownership Retains no pointer or raster. Caller exclusively owns every output on one thread for the call.

在文件 TerrainTreePlacement.cpp 第 250 行定义.

引用了 Add, eve::procgen::PointSet::appendPointFrom(), Custom, eve::procgen::Heightmap::data(), eve::Diagnostic::error(), eve::Result< T >::failure(), Fitness, FitnessRandomized, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), height, eve::procgen::Heightmap::height(), eve::procgen::ProcgenPoint::id, eve::InvalidArgument, eve::InvariantViolation, eve::procgen::raster_detail::isRepresentable(), mapTerrainOperationMultiTile(), ox, oy, point, radius, Random, random, Remove, Replace, eve::procgen::PointSet::reserve(), s, eve::procgen::raster_detail::sample(), SeaLevel, source, strength, eve::Result< T >::success(), target, tiles, Tree, u, v, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 z.

被这些函数引用 eve::procgen::TerrainWorldWorkspace::applyTrees().

◆ artifactType()

ArtifactType eve::procgen::artifactType ( const GeneratedArtifact::Payload &  payload)
noexcept

Return the variant kind for a payload.

在文件 GeneratedArtifact.cpp 第 1237 行定义.

引用了 Collider, Composite, Grid, ImageData, MeshData, payload, PointSet , 以及 value.

◆ artifactTypeName()

const char * eve::procgen::artifactTypeName ( ArtifactType  type)
noexcept

Return the stable textual spelling of an artifact kind.

返回
A non-null borrowed pointer to immutable static text. @ownership Borrowed from program-static storage; the caller must not free it. @nullable No. @lifetime Static for the process lifetime. @thread Thread-safe and side-effect free. @reentrancy Does not access artifact state or invoke callbacks.

在文件 GeneratedArtifact.cpp 第 1251 行定义.

引用了 Collider, Composite, Grid, ImageData, MeshData, PointSet , 以及 type.

◆ assignWeightedMeshAttribute()

PointSet eve::procgen::assignWeightedMeshAttribute ( const PointSet &  input,
uint32_t  seed,
const std::string &  attribute,
const std::string *  meshes,
const float *  weights,
int  entryCount 
)

Deterministically assign a weighted mesh path string attribute.

Empty mesh entries are ignored. When every weight is non-positive or every mesh path is empty, attributes are left unchanged.

@ownership meshes and weights are borrowed for this synchronous call only; the function does not retain the pointers after returning. @lifetime Caller must keep both arrays alive for the duration of the call.

参数
meshesMesh path table of length entryCount; may be null when entryCount is 0.
weightsParallel weight table of length entryCount; may be null when entryCount is 0.

在文件 PointSet.cpp 第 1122 行定义.

引用了 cursor, eve::Result< void >::expect(), index, input, point, eve::procgen::PointSet::points(), seed, size, eve::procgen::PointSet::trySetStringAttribute() , 以及 weights.

◆ autotileGridInPlace()

bool eve::procgen::autotileGridInPlace ( Grid2D &  grid)

Post-process any generated Grid2D: fill each wall cell's detail with an 8-bit neighbour mask describing which adjacent cells are walkable. Useful to add direction-aware wall tiles to levels from other generators. Returns false if the grid has no wall cells (still clears detail).

在文件 RoguelikeGenerator.cpp 第 732 行定义.

引用了 autotileGridInPlace().

被这些函数引用 eve::procgen::Procgen::autotileGrid() , 以及 autotileGridInPlace().

◆ autotileOccupiedGridInPlace()

eve::Result< void > eve::procgen::autotileOccupiedGridInPlace ( Grid2D &  grid)

Write an eight-neighbour occupancy mask into every non-empty cell's detail value.

参数
gridDense grid mutated in place; empty cells receive detail zero.
返回
Success after writing all masks; InvalidArgument for unusable dimensions. @thread Caller-owned grid only; not safe for concurrent mutation.

在文件 RoguelikeGenerator.cpp 第 737 行定义.

引用了 autotileOccupiedGridInPlace(), direction, dx, dy, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, mask, eve::Result< T >::success(), x , 以及 y.

被这些函数引用 autotileOccupiedGridInPlace().

◆ bakeGtsColorMapAlbedo()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsColorMapAlbedo ( image::ImageData &  output,
const image::ImageData &  colorMap,
const Heightmap &  globalBlendDistance,
const GtsColorMapSettings &  settings 
)

Blend the GTS terrain colormap into an existing albedo before weather layers.

参数
outputExclusively borrowed matching albedo, atomically replaced on success.
colorMapBorrowed matching terrain colormap sampled in terrain UV space.
globalBlendDistanceBorrowed matching normalized near-to-far blend raster.
settingsGTS alpha, color and near/far intensity controls.
返回
Changed pixel count or InvalidArgument; failure leaves output unchanged. @thread Synchronous; no reference or pointer survives the call.

在文件 TerrainImageAdapter.cpp 第 331 行定义.

引用了 blend, color, distance, eve::image::ImageData::getHeight(), eve::procgen::Heightmap::getHeight(), eve::image::ImageData::getPixel(), eve::image::ImageData::getWidth(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), output, settings, eve::Result< T >::success(), unit, eve::procgen::raster_detail::validRaster(), value, x , 以及 y.

◆ bakeGtsDetailSurface()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsDetailSurface ( image::ImageData &  albedo,
image::ImageData &  packedNormal,
Heightmap &  detailGreyscale,
const Heightmap &  layerStrength,
const Heightmap &  globalBlendDistance,
const image::ImageData &  detailNormal,
const GtsDetailNormalSettings &  settings,
double  originX = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1 
)

Bake GTS near/far detail normals, albedo micro-shadowing and snow-detail influence atomically.

参数
albedoExclusively borrowed matching terrain albedo.
packedNormalExclusively borrowed matching packed terrain normal.
detailGreyscaleMatching scalar output consumed by the subsequent weather pass.
layerStrengthBorrowed normalized detail-layer strength raster.
globalBlendDistanceBorrowed normalized near-to-far blend raster.
detailNormalBorrowed repeating RG detail-normal texture.
settingsGTS tiling, strength and coordinate-space controls.
originXWorld X of sample (0,0), ignored in object space.
originZWorld Z of sample (0,0), ignored in object space.
spacingXPositive X sample spacing.
spacingZPositive Z sample spacing.
返回
Total changed samples or InvalidArgument; all three outputs remain unchanged on failure. @thread Synchronous exclusive output access; no input is retained.

在文件 TerrainImageAdapter.cpp 第 457 行定义.

引用了 eve::image::ImageData::adopt(), albedo, color, eve::procgen::Heightmap::data(), distance, eve::image::ImageData::getHeight(), eve::image::ImageData::getPixel(), eve::image::ImageData::getWidth(), height, eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), length, normal, nx, ny, px, pz, eve::procgen::Heightmap::setHeight(), eve::image::ImageData::setPixel(), settings, spacingX, spacingZ, strength, eve::Result< T >::success(), unit, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 y.

◆ bakeGtsGeologicalSurface()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsGeologicalSurface ( image::ImageData &  albedo,
image::ImageData &  packedNormal,
const Heightmap &  heights,
const Heightmap &  layerStrength,
const Heightmap &  globalBlendDistance,
const image::ImageData &  geoAlbedo,
const image::ImageData &  geoNormal,
const GtsGeologicalSettings &  settings,
double  originY = 0 
)

Bake the GTS near/far height-axis geological color and tangent normal overlay atomically.

参数
albedoExclusively borrowed matching terrain albedo.
packedNormalExclusively borrowed matching texture with tangent XY in RG, AO in B and smoothness in A.
heightsBorrowed local terrain heights.
layerStrengthBorrowed normalized geological layer strength raster.
globalBlendDistanceBorrowed normalized near-to-far blend raster.
geoAlbedoBorrowed repeating geological color strip.
geoNormalBorrowed repeating DXT5nm geological normal strip.
settingsGTS near/far scale, offset, color/normal strength and coordinate-space controls.
originYWorld elevation added when objectSpace is false.
返回
Total changed output samples or InvalidArgument; both outputs remain unchanged on failure. @thread Synchronous exclusive output access; no input is retained.

在文件 TerrainImageAdapter.cpp 第 393 行定义.

引用了 a, eve::image::ImageData::adopt(), albedo, b, color, distance, eve::procgen::Heightmap::getHeight(), eve::image::ImageData::getPixel(), eve::procgen::Heightmap::getWidth(), height, eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), length, normal, nx, ny, nz, eve::image::ImageData::setPixel(), settings, strength, eve::Result< T >::success(), unit, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 y.

◆ bakeGtsMacroVariationAlbedo()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsMacroVariationAlbedo ( image::ImageData &  output,
const image::ImageData &  variationMap,
const GtsMacroVariationSettings &  settings,
double  originX = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1 
)

Apply GTS three-scale repeating macro variation after weather layers.

参数
outputExclusively borrowed albedo, atomically replaced on success.
variationMapBorrowed repeating variation texture; its red channel drives modulation.
settingsGTS scale, intensity and coordinate-space controls.
originXWorld X of output sample (0,0); ignored in object space.
originZWorld Z of output sample (0,0); ignored in object space.
spacingXPositive X sample spacing.
spacingZPositive Z sample spacing.
返回
Changed pixel count or InvalidArgument; failure leaves output unchanged. @thread Synchronous; no reference or pointer survives the call.

在文件 TerrainImageAdapter.cpp 第 363 行定义.

引用了 a, b, c, color, eve::procgen::raster_detail::invalid(), output, px, pz, settings, spacingX, spacingZ, eve::Result< T >::success(), x , 以及 y.

◆ bakeGtsPackedLayerDisplacement()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsPackedLayerDisplacement ( Heightmap &  displacement,
Heightmap &  tessellation,
const Heightmap &  heights,
const TerrainSplatmap &  splatmap,
const GtsPackedLayerSet &  layers,
double  cameraX,
double  cameraY,
double  cameraZ,
double  tessellationMultiplier = 1,
double  originX = 0,
double  originY = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1 
)

Bake GTS planar top-four layer displacement and tessellation with its camera cutoff.

参数
displacementMatching mutable scalar displacement output.
tessellationMatching mutable scalar tessellation output.
heightsBorrowed matching local terrain heights used to form world positions.
splatmapBorrowed authoritative normalized layer weights.
layersBorrowed owning packed layer set in splat order.
cameraXExplicit world camera X.
cameraYExplicit world camera Y.
cameraZExplicit world camera Z.
tessellationMultiplierFinite final multiplier corresponding to GTS _TessellationMultiplier.
originXWorld X of sample (0,0).
originYWorld elevation added to local heights.
originZWorld Z of sample (0,0).
spacingXPositive world X sample spacing.
spacingZPositive world Z sample spacing.
返回
Total changed samples or InvalidArgument; both outputs remain unchanged on failure. @thread Synchronous exclusive output access; inputs are borrowed only for the call.

在文件 TerrainImageAdapter.cpp 第 170 行定义.

◆ bakeGtsPackedLayers()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsPackedLayers ( image::ImageData &  albedo,
image::ImageData &  packedNormal,
Heightmap &  geoStrength,
Heightmap &  detailStrength,
const Heightmap &  heights,
const TerrainSplatmap &  splatmap,
const GtsPackedLayerSet &  layers,
double  originX = 0,
double  originY = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1 
)

Bake planar, stochastic or triplanar GTS packed layers using one normalized splatmap.

参数
albedoMatching writable color output.
packedNormalMatching writable tangent-normal, AO and smoothness output.
geoStrengthMatching mutable geological-strength raster.
detailStrengthMatching mutable detail-strength raster.
heightsBorrowed local heights used for world positions and triplanar weights.
splatmapBorrowed authoritative normalized layer weights.
layersBorrowed owning packed layer set in splat order.
originXWorld terrain origin X.
originYWorld terrain elevation.
originZWorld terrain origin Z.
spacingXPositive world X sample spacing.
spacingZPositive world Z sample spacing.
返回
Total changed samples or InvalidArgument; all four outputs remain unchanged on failure. @thread Synchronous exclusive output access; no borrow survives the call.

在文件 TerrainImageAdapter.cpp 第 232 行定义.

◆ bakeGtsTerrainVertexColorsInto()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsTerrainVertexColorsInto ( MeshBuild &  output,
const MeshBuild &  source,
const image::ImageData &  bakedTexture,
GtsTerrainNormalEdgeMode  edgeMode,
int  smoothingIterations,
float  terrainSizeX,
float  terrainSizeZ,
bool  linearize = false 
)

Apply Pcg low-poly edge processing and baked texture vertex colors atomically.

参数
outputReplaced only after the complete mesh and RGBA stream validate.
sourceBorrowed triangle mesh consumed synchronously.
bakedTextureBorrowed readable color texture consumed synchronously.
edgeModeSmooth preserves shared vertices; Sharp flattens every triangle corner.
smoothingIterationsPcg's clamped four-neighbor texture smoothing pass count.
linearizeConvert sampled sRGB RGB channels to linear values for an orthographic SRP bake.
返回
Output vertex count or a structured failure with output unchanged.

在文件 GtsTerrainExportSettings.cpp 第 677 行定义.

引用了 a, eve::procgen::MeshBuild::addTriangle(), eve::procgen::MeshBuild::addVertex(), applied, b, c, color, colors, d, eve::Diagnostic::error(), eve::Result< T >::failure(), g, eve::image::ImageData::getData(), eve::image::ImageData::getHeight(), eve::procgen::MeshBuild::getIndexCount(), eve::image::ImageData::getPixel(), eve::image::ImageData::getPixelGetFunction(), eve::image::ImageData::getPixelSize(), eve::image::ImageData::getSize(), eve::image::ImageData::getWidth(), group, height, eve::procgen::MeshBuild::indices(), eve::InvalidArgument, key, length, normals, eve::procgen::MeshBuild::normals(), nx, ny, nz, output, pixelSize, positions, eve::procgen::MeshBuild::positions(), eve::procgen::MeshBuild::reserve(), eve::procgen::raster_detail::sample(), eve::procgen::MeshBuild::setActiveGroup(), eve::procgen::MeshBuild::setMeta(), eve::procgen::MeshBuild::setVertexColors(), Sharp, Smooth, source, eve::Result< T >::success(), triangle, value, values, width, x, y , 以及 z.

◆ bakeGtsWeatherAlbedo()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsWeatherAlbedo ( image::ImageData &  output,
const Heightmap &  heights,
const image::ImageData &  snowAlbedo,
const image::ImageData &  snowMask,
const GtsSnowSurfaceSettings &  snow,
const GtsRainSurfaceSettings &  rain,
double  originX = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1,
const Heightmap *  detailGreyscale = nullptr 
)

Bake the GTS snow and rain albedo branches over an existing terrain image.

参数
outputExclusively borrowed readable/writable base albedo, atomically replaced on success.
heightsBorrowed matching world-height raster used for altitude and slope masks.
snowAlbedoBorrowed repeating snow color texture.
snowMaskBorrowed readable companion GTS mask texture; its channels affect PBR outputs, not this albedo-only pass.
snowSnow height, slope, age, power, scale and tint controls.
rainRain altitude, power and darkness controls; evaluated after snow as in GTS_Functions.hlsl.
originXWorld X of height sample (0,0).
originZWorld Z of height sample (0,0).
spacingXPositive world X spacing used for normals and texture coordinates.
spacingZPositive world Z spacing used for normals and texture coordinates.
返回
Changed pixel count or InvalidArgument; failure leaves output unchanged. @thread Synchronous exclusive output access; all other inputs are immutable and no borrow survives the call.

在文件 TerrainImageAdapter.cpp 第 519 行定义.

引用了 eve::procgen::GtsSnowSurfaceSettings::age, eve::procgen::GtsSnowSurfaceSettings::blendRange, color, eve::procgen::GtsSnowSurfaceSettings::colorB, eve::procgen::GtsSnowSurfaceSettings::colorG, eve::procgen::GtsSnowSurfaceSettings::colorR, eve::procgen::GtsRainSurfaceSettings::darkness, detail, eve::procgen::GtsSnowSurfaceSettings::enabled, eve::procgen::GtsRainSurfaceSettings::enabled, end, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), h, eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), mask, eve::procgen::GtsRainSurfaceSettings::maximumHeight, eve::procgen::GtsSnowSurfaceSettings::minimumHeight, eve::procgen::GtsRainSurfaceSettings::minimumHeight, output, eve::procgen::GtsSnowSurfaceSettings::power, eve::procgen::GtsRainSurfaceSettings::power, eve::procgen::GtsSnowSurfaceSettings::scale, eve::procgen::GtsSnowSurfaceSettings::slopeBlend, spacingX, spacingZ, start, eve::Result< T >::success(), unit, eve::procgen::raster_detail::validRaster(), value, x , 以及 z.

◆ bakeGtsWeatherPbr()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeGtsWeatherPbr ( image::ImageData &  normalOutput,
image::ImageData &  maskOutput,
Heightmap &  displacement,
Heightmap &  tessellation,
const Heightmap &  heights,
const image::ImageData &  snowNormal,
const image::ImageData &  snowMask,
const image::ImageData &  rainData,
const GtsSnowSurfaceSettings &  snow,
const GtsRainSurfaceSettings &  rain,
double  timeSeconds,
double  originX = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1 
)

Bake GTS snow/rain world normals, packed mask, displacement and tessellation atomically.

参数
normalOutputMatching readable/writable packed texture: tangent normal XY in RG, AO in B, smoothness in A.
maskOutputMatching readable/writable packed material mask; alpha is smoothness.
displacementMatching mutable scalar displacement raster.
tessellationMatching mutable scalar tessellation raster.
heightsBorrowed world-height raster used for terrain normals and altitude masks.
snowNormalBorrowed repeating DXT5nm-style snow normal texture.
snowMaskBorrowed repeating packed snow mask texture.
rainDataBorrowed repeating four-channel rain phase texture.
snowSnow profile controls.
rainRain profile controls.
timeSecondsExplicit finite animation time; no hidden clock is read.
originXWorld X of sample (0,0).
originZWorld Z of sample (0,0).
spacingXPositive world X spacing.
spacingZPositive world Z spacing.
返回
Total changed output samples or InvalidArgument; all four outputs remain unchanged on failure. @thread Synchronous exclusive access to outputs; no input or pointer is retained.

在文件 TerrainImageAdapter.cpp 第 575 行定义.

引用了 eve::image::ImageData::adopt(), eve::procgen::GtsSnowSurfaceSettings::age, eve::procgen::GtsSnowSurfaceSettings::blendRange, center, channels, eve::procgen::GtsSnowSurfaceSettings::displacementBrightness, eve::procgen::GtsSnowSurfaceSettings::displacementContrast, eve::procgen::GtsSnowSurfaceSettings::displacementIncrease, eve::procgen::GtsSnowSurfaceSettings::enabled, eve::procgen::GtsRainSurfaceSettings::enabled, end, eve::procgen::Heightmap::getHeight(), eve::image::ImageData::getPixel(), eve::procgen::Heightmap::getWidth(), h, height, eve::procgen::Heightmap::height(), eve::procgen::GtsSnowSurfaceSettings::heightBrightness, eve::procgen::GtsSnowSurfaceSettings::heightContrast, eve::procgen::GtsSnowSurfaceSettings::heightIncrease, image, eve::procgen::raster_detail::invalid(), eve::procgen::GtsSnowSurfaceSettings::maskRemapMax, eve::procgen::GtsSnowSurfaceSettings::maskRemapMin, eve::procgen::GtsRainSurfaceSettings::maximumHeight, eve::procgen::GtsSnowSurfaceSettings::minimumHeight, eve::procgen::GtsRainSurfaceSettings::minimumHeight, normal, eve::procgen::GtsSnowSurfaceSettings::normalStrength, nx, ny, phase, points, eve::procgen::GtsSnowSurfaceSettings::power, eve::procgen::GtsRainSurfaceSettings::power, eve::procgen::GtsSnowSurfaceSettings::scale, eve::procgen::GtsRainSurfaceSettings::scale, eve::procgen::Heightmap::setHeight(), eve::image::ImageData::setPixel(), eve::procgen::GtsSnowSurfaceSettings::slopeBlend, eve::procgen::GtsRainSurfaceSettings::smoothness, spacingX, spacingZ, eve::procgen::GtsRainSurfaceSettings::speed, start, strength, eve::Result< T >::success(), t, tangent, terrain, eve::procgen::GtsSnowSurfaceSettings::tessellationAmount, u, v, eve::procgen::raster_detail::validRaster(), value, values, width, x , 以及 z.

◆ bakeTerrainCurveTexture()

EVENGINE_API_DOMAINS Result< TerrainCurveTextureReceipt > eve::procgen::bakeTerrainCurveTexture ( image::ImageData &  output,
const Heightmap &  curve 
)

Bake a sampled one-row curve into an existing one-row image with Pcg's exact pixel-coordinate contract.

参数
outputExclusively borrowed mutable image; fully replaced only after successful evaluation.
curveBorrowed finite one-row curve LUT evaluated linearly over [0,1].
返回
Curve range and destination width, or InvalidArgument without changing output. @thread Caller serializes access to output and curve. @reentrancy Does not invoke callbacks or retain references.

在文件 TerrainCurveTexture.cpp 第 12 行定义.

引用了 curve, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Heightmap::getHeight(), eve::InvalidArgument, eve::procgen::raster_detail::isRepresentable(), maximum, minimum, output, eve::procgen::raster_detail::sample(), eve::image::ImageData::setPixel(), eve::Result< T >::success(), t, eve::procgen::raster_detail::validRaster(), value , 以及 x.

◆ bakeTerrainGrass()

Result< int > eve::procgen::bakeTerrainGrass ( graphics::GrassField &  field,
const PointSet &  points,
const std::string &  asset,
float  width,
float  height 
)

Upload one asset group from generated points into a grass field using its built-in atlas. Preserves roots and independent horizontal/vertical scale; 64-bit instance IDs remain in PointSet, folded to 24-bit animation phases. Asset string selects points; it is not a texture loader. Normals/yaw are not used by upright billboards.

参数
fieldExclusively borrowed field on its Graphics owner thread, outside rendering callbacks.
pointsImmutable points; only matching asset rows are validated/uploaded, no borrow survives.
assetNonempty exact resource attribute selector.
widthPositive finite billboard width.
heightPositive finite billboard height.
返回
Uploaded count or diagnostic; rejects differing X/Z scales, nonpositive scales or zero IDs. Failed validation preserves field. GPU allocation exceptions preserve published field pointers; allocations remain Graphics-owned.

在文件 TerrainGrassAdapter.cpp 第 32 行定义.

引用了 height, points , 以及 width.

◆ bakeTerrainGrassFoliage()

Result< int > eve::procgen::bakeTerrainGrassFoliage ( graphics::GrassField &  field,
const PointSet &  points,
const std::string &  asset,
float  width,
float  height,
const image::ImageData &  albedo,
const image::ImageData &  normal,
const image::ImageData &  mask,
const graphics::grass::GrassFoliageSettings &  settings 
)

Upload a Pcg-style static foliage surface with albedo, normal and packed mask maps.

在文件 TerrainGrassAdapter.cpp 第 40 行定义.

引用了 albedo, eve::Diagnostic::error(), eve::Result< T >::failure(), height, eve::InvalidArgument, mask, normal, point, points, eve::graphics::grass::Point::position, root, settings , 以及 width.

◆ bakeTerrainGrassImage()

Result< int > eve::procgen::bakeTerrainGrassImage ( graphics::GrassField &  field,
const PointSet &  points,
const std::string &  asset,
float  width,
float  height,
const image::ImageData &  image 
)

Upload an asset group using one original static RGBA8 texture instead of the built-in atlas. Same selection/thread/publication contract as bakeTerrainGrass; no image reference is retained. RGB and alpha are uploaded unchanged with one frame. Invalid image storage preserves the field.

返回
Uploaded point count or diagnostic; resource identity remains on the input PointSet.

在文件 TerrainGrassAdapter.cpp 第 36 行定义.

引用了 height, image, points , 以及 width.

◆ bakeTerrainSplatAlbedo()

EVENGINE_API_DOMAINS Result< int > eve::procgen::bakeTerrainSplatAlbedo ( image::ImageData &  output,
const TerrainSplatmap &  splatmap,
const TerrainSplatPalette &  palette 
)

Blend every splat layer color into a borrowed ImageData atomically.

返回
Written pixel count or InvalidArgument; output is unchanged on failure. @ownership No image, splatmap or palette storage is retained. Caller serializes mutable output access.

在文件 TerrainImageAdapter.cpp 第 282 行定义.

◆ blendTerrainBrush()

EVENGINE_API_DOMAINS Result< int > eve::procgen::blendTerrainBrush ( Heightmap &  target,
const Heightmap &  oldHeights,
const Heightmap &  newHeights,
const Heightmap &  brush,
const TerrainBrushBlendSettings &  settings 
)

Blend an erosion scalar output with old heights through transformed brush UVs.

参数
targetExclusively borrowed finite destination; may alias any input.
oldHeightsFinite scalar old-height texture; independent resolution permitted.
newHeightsFinite scalar erosion channel; independent resolution permitted.
brushFinite scalar brush texture; independent resolution permitted.
settingsFinite affine coefficients and strength. UV=(XX*u+XZ*v+offsetX, ZX*u+ZZ*v+offsetZ).
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; immutable input snapshots, no retained borrows/callbacks. Uses Clamp/Bilinear texel-center sampling. Outside inclusive brush [0,1]^2 the sampled old height is retained. Inside, weight=strength*brush, without saturation, as SimpleHeightBlend. Inputs/outputs are native scalars; Unity packed-height encoding is not applied.

在文件 TerrainMask.cpp 第 265 行定义.

引用了 eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, eve::procgen::raster_detail::publish(), s, target, eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), x , 以及 z.

被这些函数引用 generateTerrainErosionMask().

◆ blendTerrainMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::blendTerrainMask ( Heightmap &  target,
const Heightmap &  source,
TerrainMaskBlend  mode,
float  strength = 1,
bool  invert = false 
)

Blend one scalar raster into an existing mask stack, in call order.

参数
targetBorrowed writable mask; must have the same dimensions as source.
sourceBorrowed finite scalar raster; may alias target.
modeArithmetic applied before interpolating from the old target by strength.
strengthFinite interpolation weight in [0,1].
invertUse 1-source before blending; does not invert the old target.
返回
Changed sample count, or InvalidArgument without modifying target.
异常
std::bad_allocAllocation failure; target remains unchanged. @thread Caller exclusively owns target during this synchronous call. No callbacks, retained references, renderer, or ECS state. Repeatable on one toolchain; cross-platform floating-point results are compared with tolerance.

在文件 TerrainStamp.cpp 第 15 行定义.

引用了 a, Add, b, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Maximum, Minimum, Multiply, eve::procgen::raster_detail::publish(), source, strength, Subtract, target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ buildCaveHydrology()

CaveHydrologyWeights eve::procgen::buildCaveHydrology ( const std::vector< CaveHydrologyPoint > &  trunk,
const std::vector< CaveHydrologyBranch > &  branches,
float  erosion,
float  gradient,
float  recharge,
float  focusing,
float  damkohler,
float  transportG 
)

◆ buildDefaultGtsTerrainLodsFromHeightmapInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildDefaultGtsTerrainLodsFromHeightmapInto ( GtsTerrainLodSet &  output,
const Heightmap &  heightmap,
GtsTerrainSaveResolution  resolution,
float  sizeX,
float  sizeY,
float  sizeZ,
int  subTileSplits,
GtsMeshPivot  pivot 
)

Atomically replace output with the complete default four-level GTS terrain conversion.

在文件 GtsTerrainLod.cpp 第 312 行定义.

引用了 buildGtsTerrainLodsFromHeightmap(), defaultGtsTerrainLodLevels(), eve::Result< T >::failure(), output , 以及 eve::Result< T >::success().

◆ buildGtsTerrainBaseMesh()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildGtsTerrainBaseMesh ( MeshBuild &  output,
const Heightmap &  heightmap,
GtsTerrainSaveResolution  resolution,
float  sizeX,
float  sizeY,
float  sizeZ 
)

Build the local-space base mesh consumed by the GTS split and LOD pipeline.

参数
outputReplaced only after the complete mesh and normals are valid.
heightmapImmutable normalized or world-unit height samples.
resolutionPower-of-two source sample stride.
sizeXWorld width of the complete terrain.
sizeYMultiplier applied to every height sample.
sizeZWorld depth of the complete terrain.
返回
Applied result or a structured error without modifying output.

在文件 GtsTerrainLod.cpp 第 12 行定义.

引用了 a, eve::procgen::MeshBuild::addTriangle(), eve::procgen::MeshBuild::addVertex(), b, c, columns, d, eve::procgen::Heightmap::data(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), indexCount, indices, eve::procgen::MeshBuild::indices(), eve::InvalidArgument, length, normals, eve::procgen::MeshBuild::normals(), nx, ny, nz, output, positions, eve::procgen::MeshBuild::positions(), eve::procgen::MeshBuild::reserve(), rows, eve::procgen::MeshBuild::setActiveGroup(), eve::procgen::MeshBuild::setMeta(), step, eve::Result< T >::success(), value, vertexCount, x , 以及 z.

被这些函数引用 buildGtsTerrainColliderMeshFromHeightmapInto(), buildGtsTerrainExportLodsFromHeightmapInto(), buildGtsTerrainLodsFromHeightmap(), encodeGtsMaskedTerrainObj() , 以及 encodeGtsTerrainObj().

◆ buildGtsTerrainColliderMeshFromHeightmapInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildGtsTerrainColliderMeshFromHeightmapInto ( MeshBuild &  output,
const Heightmap &  heightmap,
const GtsTerrainExportWorkflow &  workflow,
float  sizeX,
float  sizeY,
float  sizeZ 
)

Build the independently sampled and simplified MeshCollider geometry requested by a workflow.

参数
outputReplaced only after the collider mesh is valid and non-empty.
heightmapBorrowed immutable source heightmap consumed synchronously.
workflowBorrowed value settings consumed synchronously.
返回
Final triangle mesh, or a structured failure without partial output.

在文件 GtsTerrainExportSettings.cpp 第 525 行定义.

引用了 eve::procgen::GtsTerrainExportWorkflow::addTerrainCollider, buildGtsTerrainBaseMesh(), eve::procgen::GtsTerrainExportWorkflow::colliderResolution, eve::procgen::GtsTerrainExportWorkflow::colliderSimplifyQuality, eve::procgen::GtsTerrainExportWorkflow::colliderType, eve::procgen::GtsTerrainExportSettings::configureWorkflow(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, Mesh, output, simplifyGtsMesh(), eve::Result< T >::success() , 以及 valid.

◆ buildGtsTerrainExportLodsFromHeightmapInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildGtsTerrainExportLodsFromHeightmapInto ( GtsTerrainLodSet &  output,
const Heightmap &  heightmap,
const GtsTerrainExportSettings &  settings,
float  sizeX,
float  sizeY,
float  sizeZ,
int  subTiles,
GtsMeshPivot  pivot = GtsMeshPivot::None 
)

Build source-terrain LODs using the first export record's SaveResolution and the complete sequential list.

参数
outputReplaced only after base mesh, split and every LOD complete.
heightmapBorrowed immutable source heightmap consumed synchronously.
settingsBorrowed immutable export settings consumed synchronously.
subTilesEqual X/Z split-plane count in the original editor range 0 through 5.
返回
Applied result or a structured failure without partial output.

在文件 GtsTerrainExportSettings.cpp 第 507 行定义.

引用了 buildGtsTerrainBaseMesh(), buildGtsTerrainLods(), eve::Diagnostic::error(), eve::Result< T >::failure(), first, eve::InvalidArgument, output, settings , 以及 eve::Result< T >::success().

◆ buildGtsTerrainLods()

EVENGINE_API_DOMAINS Result< GtsTerrainLodSet > eve::procgen::buildGtsTerrainLods ( const MeshBuild &  source,
int  xSplits,
int  zSplits,
GtsMeshPivot  pivot,
const std::vector< GtsTerrainLodLevelSettings > &  levels 
)

Split a terrain mesh and generate each tile's sequential GTS LOD chain.

参数
sourceImmutable world-space terrain mesh.
xSplitsNumber of regular X split planes.
zSplitsNumber of regular Z split planes.
pivotLocal pivot convention for every tile.
levelsOrdered near-to-far LOD settings with descending transition heights.
返回
Owned tiles and levels, or a structured error without observable partial state.

在文件 GtsTerrainLod.cpp 第 250 行定义.

被这些函数引用 buildGtsTerrainExportLodsFromHeightmapInto() , 以及 buildGtsTerrainLodsFromHeightmap().

◆ buildGtsTerrainLodsFromHeightmap()

Result< GtsTerrainLodSet > eve::procgen::buildGtsTerrainLodsFromHeightmap ( const Heightmap &  heightmap,
GtsTerrainSaveResolution  resolution,
float  sizeX,
float  sizeY,
float  sizeZ,
int  subTileSplits,
GtsMeshPivot  pivot,
const std::vector< GtsTerrainLodLevelSettings > &  levels 
)

Execute the complete GTS heightmap-to-split-LOD conversion as one atomic operation.

参数
subTileSplitsSplit planes on both axes; output is (subTileSplits+1)^2 row-major tiles.

在文件 GtsTerrainLod.cpp 第 298 行定义.

引用了 buildGtsTerrainBaseMesh(), buildGtsTerrainLods(), eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 eve::InvalidArgument.

被这些函数引用 buildDefaultGtsTerrainLodsFromHeightmapInto() , 以及 buildGtsTerrainLodsFromHeightmapInto().

◆ buildGtsTerrainLodsFromHeightmapInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildGtsTerrainLodsFromHeightmapInto ( GtsTerrainLodSet &  output,
const Heightmap &  heightmap,
const GtsTerrainMeshSettings &  settings,
float  sizeX,
float  sizeY,
float  sizeZ,
GtsMeshPivot  pivot 
)

Atomically build a complete heightmap conversion using persisted GTS mesh settings.

在文件 GtsTerrainLod.cpp 第 322 行定义.

引用了 buildGtsTerrainLodsFromHeightmap(), eve::Result< T >::failure(), output, settings , 以及 eve::Result< T >::success().

◆ buildPcgCombinedMeshLodsInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildPcgCombinedMeshLodsInto ( PcgMeshLodSet &  output,
const PcgMeshCombinePlan &  plan,
const PcgMeshLodProfile &  profile 
)

Combine an ordered static-renderer plan and generate every combined LOD atomically.

参数
outputReplaced only after the combine and every simplification succeed.
planImmutable owning source plan.
profileImmutable profile whose levels must all request mesh combination.
返回
Success or a structured diagnostic without changing output. @thread Synchronous CPU operation; no callbacks or borrowed references are retained.

在文件 PcgMeshLod.cpp 第 255 行定义.

引用了 buildPcgMeshLodsInto(), combinePcgStaticMeshesInto(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, level, eve::procgen::PcgMeshLodProfile::levels() , 以及 output.

◆ buildPcgMeshLodsInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::buildPcgMeshLodsInto ( PcgMeshLodSet &  output,
const MeshBuild &  source,
const PcgMeshLodProfile &  profile 
)

Generate a complete generic Pcg LOD chain and publish it atomically.

参数
outputReplaced only after every level has simplified successfully.
sourceImmutable source mesh; it may be a mesh borrowed from another owner.
profileImmutable owned settings with one through four descending levels.
返回
Success or a structured diagnostic without changing output. @thread Synchronous CPU operation; no callbacks or borrowed references are retained.

在文件 PcgMeshLod.cpp 第 232 行定义.

被这些函数引用 buildPcgCombinedMeshLodsInto().

◆ builtinTextureDefs()

const std::vector< TextureRecipeDef > & eve::procgen::builtinTextureDefs ( )

All built-in texture definitions (albedo + PBR). Populated lazily.

在文件 BuiltinTextures.cpp 第 940 行定义.

被这些函数引用 eve::procgen::TextureRecipeRegistry::registerBuiltins() , 以及 eve::procgen::PbrRecipeRegistry::registerPbrBuiltins().

◆ carveCaveBreakdownScars()

EVENGINE_API_DOMAINS float eve::procgen::carveCaveBreakdownScars ( float  x,
float  y,
float  z,
float  current,
const CaveBreakdownSet &  breakdown 
)

Carve the event's shallow ceiling detachment scars from a cave SDF.

在文件 CaveBreakdown.cpp 第 84 行定义.

引用了 current, eve::procgen::CaveBreakdownSet::events, x, y , 以及 z.

◆ carveCaveParagenesis()

EVENGINE_API_DOMAINS float eve::procgen::carveCaveParagenesis ( float  x,
float  y,
float  z,
float  current,
const CaveSedimentSet &  sediment 
)

Carve flow-aligned antigravitative ceiling channels above generated sediment bars.

在文件 CaveSediment.cpp 第 163 行定义.

引用了 current, sediment, x, y , 以及 z.

◆ caveMeshGenerator()

MeshRecipeFn eve::procgen::caveMeshGenerator ( )

Cave mesh generator.

在文件 CaveMesh.cpp 第 1784 行定义.

被这些函数引用 registerCaveMeshRecipe().

◆ caveWetnessField()

float eve::procgen::caveWetnessField ( CaveHydrologyVec3  point,
const std::vector< CaveHydrologyPoint > &  drainageSpine,
float  fallbackRadius,
uint32_t  seed 
)

Cave wetness field.

在文件 CaveWetness.cpp 第 83 行定义.

引用了 dx, dy, dz, end, gravity, point, relative, seed, start, t , 以及 eve::procgen::CaveHydrologyVec3::x.

被这些函数引用 refineCaveWetnessBoundary().

◆ closeCaveDensityBoundary()

EVENGINE_API_DOMAINS CaveBoundaryClosure eve::procgen::closeCaveDensityBoundary ( std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
float  strength,
uint32_t  seed 
)

Apply a deterministic host-rock envelope at the finite density domain boundary.

参数
densityDense x-major scalar field, mutated in place.
nxGrid samples on X.
nyGrid samples on Y.
nzGrid samples on Z.
strengthClosure depth in normalized cave space, in [0, 1].
seedDeterministic rough-envelope seed.
返回
Boundary air counts before/after closure and the number of changed voxels.

在文件 CaveBoundary.cpp 第 27 行定义.

引用了 eve::procgen::CaveBoundaryClosure::airSamplesAfter, eve::procgen::CaveBoundaryClosure::airSamplesBefore, eve::procgen::CaveBoundaryClosure::changedVoxels, nx, ny, nz, phase, px, py, pz, roughness, seed, strength, value, x, y , 以及 z.

◆ combinePcgMaskMapChannels()

EVENGINE_API_DOMAINS Result< int > eve::procgen::combinePcgMaskMapChannels ( image::ImageData &  output,
const image::ImageData &  red,
const image::ImageData &  green,
const image::ImageData &  blue,
const image::ImageData &  alpha,
std::uint32_t  activeChannels = 15 
)

Combine Pcg Mask Map Export channel rasters into one RGBA image.

参数
outputExclusively borrowed writable destination; replaced atomically.
redBorrowed readable source whose red component supplies output R.
greenBorrowed readable source whose red component supplies output G.
blueBorrowed readable source whose red component supplies output B.
alphaBorrowed readable source whose red component supplies output A.
activeChannelsFour-bit RGBA mask; inactive channels become zero.
返回
Changed pixel count or InvalidArgument; failure leaves output unchanged. @thread Synchronous exclusive output access; input storage is not retained and no callbacks run.

在文件 TerrainImageAdapter.cpp 第 744 行定义.

引用了 channels, height, eve::procgen::raster_detail::invalid(), output, r, source, eve::Result< T >::success(), width, x , 以及 y.

◆ combinePcgStaticMeshesInto()

EVENGINE_API_DOMAINS Result< int > eve::procgen::combinePcgStaticMeshesInto ( MeshBuild &  output,
const PcgMeshCombinePlan &  plan 
)

Combine static meshes with Pcg material deduplication and root-relative transforms.

参数
outputReplaced only after all streams, material groups and budgets validate.
planImmutable owning source plan; output cannot alias its copied meshes.
返回
Combined triangle count or a structured diagnostic without changing output. @thread Synchronous CPU operation; no callbacks or references are retained.

Declared ahead of the classes that friend it: the first declaration in a translation unit must carry the link-group macro, otherwise the friend declarations inside PcgMeshTransform/PcgMeshCombinePlan fix a different linkage and this dllexport declaration would be C2375.

在文件 PcgMeshLod.cpp 第 52 行定义.

被这些函数引用 buildPcgCombinedMeshLodsInto().

◆ comparePointFloatAttribute()

Result< PointSet > eve::procgen::comparePointFloatAttribute ( const PointSet &  input,
const std::string &  attribute,
const std::string &  comparison,
float  operand,
const std::string &  outputAttribute,
float  defaultValue 
)

◆ configureTerrainBrushWorld()

EVENGINE_API_DOMAINS Result< int > eve::procgen::configureTerrainBrushWorld ( TerrainBrushBlendSettings &  target,
const TerrainStampSettings &  world,
int  contextWidth,
int  contextHeight,
const TerrainSampleGrid &  heights 
)

Configure paint-context UV matrices from world sample centers and a rotated stamp footprint.

参数
targetExclusively borrowed settings; strength is preserved, matrices publish atomically.
worldStamp grid origin/spacing describes context sample centers; center/width/depth/rotation describes the brush. Height-operation/amplitude/baseHeight/blendStrength fields are unused.
contextWidthPositive destination sample count along X.
contextHeightPositive destination sample count along Z.
heightsSource height texture's world sample grid; dimensions match the texture supplied to blendBrush.
返回
Number of changed matrix coefficients, or InvalidArgument without mutation. @thread Synchronous exclusive target access, immutable value inputs, no retained references or callbacks. Positive finite spacing/extents and finite coordinates are required. World origins are subtracted in double before float conversion. Half-texel offsets align world sample centers with texture centers. Result coefficients must fit finite floats; float UV arithmetic has its usual precision limits.

在文件 TerrainMask.cpp 第 29 行定义.

引用了 eve::procgen::TerrainBrushBlendSettings::brushOffsetX, eve::procgen::TerrainBrushBlendSettings::brushOffsetZ, eve::procgen::TerrainBrushBlendSettings::brushXX, eve::procgen::TerrainBrushBlendSettings::brushXZ, eve::procgen::TerrainBrushBlendSettings::brushZX, eve::procgen::TerrainBrushBlendSettings::brushZZ, bx, bz, c, fields, h, eve::procgen::TerrainBrushBlendSettings::heightOffsetX, eve::procgen::TerrainBrushBlendSettings::heightOffsetZ, eve::procgen::TerrainBrushBlendSettings::heightXX, eve::procgen::TerrainBrushBlendSettings::heightXZ, eve::procgen::TerrainBrushBlendSettings::heightZX, eve::procgen::TerrainBrushBlendSettings::heightZZ, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), s, eve::Result< T >::success(), target, v, values , 以及 w.

◆ convolveTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::convolveTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  kernel 
)

Apply Pcg HeightMap.Convolve with an odd square kernel and source-order in-place feedback.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input copied before mutation.
kernelBorrowed finite odd-square convolution kernel.
返回
Changed samples or InvalidArgument; failure preserves target. @thread Synchronous caller-owned access; no retained references.

在文件 TerrainDerivedMap.cpp 第 211 行定义.

引用了 at, eve::procgen::Heightmap::data(), eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), height, eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, eve::procgen::raster_detail::publish(), r, radius, source, target, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 y.

◆ copyPointAttribute()

◆ copyPointsToTargets()

PointSet eve::procgen::copyPointsToTargets ( const PointSet &  source,
const PointSet &  targets,
bool  inheritTargetAttributes 
)

◆ copyTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::copyTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source,
TerrainHeightmapCopy  mode 
)

Copy or conditionally merge a Pcg heightmap, resampling when dimensions differ.

参数
targetExclusively borrowed authoritative destination and comparison baseline.
sourceBorrowed finite source; it may alias target.
modeAlways copy, copy if source is less, or copy if source is greater.
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 383 行定义.

引用了 Always, height, IfGreater, IfLess, index, eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), source, target, eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

◆ copyTerrainHeightmapClamped()

EVENGINE_API_DOMAINS Result< int > eve::procgen::copyTerrainHeightmapClamped ( Heightmap &  target,
const Heightmap &  source,
float  minValue,
float  maxValue 
)

Copy a Pcg heightmap with inclusive output clamping and normalized resampling.

参数
targetExclusively borrowed destination; it may alias source.
sourceBorrowed finite source.
minValueFinite lower bound.
maxValueFinite upper bound, not less than minValue.
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 402 行定义.

引用了 height, eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), source, target, eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

◆ createCaveBreakdown()

EVENGINE_API_DOMAINS CaveBreakdownSet eve::procgen::createCaveBreakdown ( const std::vector< CaveBreakdownChamber > &  chambers,
int  eventCount,
float  strength,
uint32_t  seed 
)

◆ createCaveConstrictionScourSites()

EVENGINE_API_DOMAINS std::vector< CaveConstrictionScourSite > eve::procgen::createCaveConstrictionScourSites ( const std::vector< CaveHydrologyPoint > &  trunk,
const std::vector< CaveHydrologyBranch > &  branches,
const CaveHydrologyWeights &  hydrology 
)

Derive scour sites from local radius minima in the authoritative hydrology paths.

参数
trunkMain passage path.
branchesBranch paths.
hydrologyHydraulic weights corresponding to trunk and branches.
返回
Deterministically located constriction-pool-widening sites.

在文件 CaveConstrictionScour.cpp 第 60 行定义.

引用了 eve::procgen::CaveHydrologyWeights::branches, points , 以及 eve::procgen::CaveHydrologyWeights::trunk.

◆ createCaveKnickpointSites()

EVENGINE_API_DOMAINS std::vector< CaveKnickpointSite > eve::procgen::createCaveKnickpointSites ( const std::vector< CaveHydrologyPoint > &  trunk,
const std::vector< float > &  hydraulicWeights,
float  sedimentLoad 
)

Derive knickpoints from steepening downstream segments of the authoritative trunk path.

参数
trunkMain cave-stream path, ordered downstream.
hydraulicWeightsPer-segment hydraulic exposure.
sedimentLoadNormalized mobile-sediment supply, including high-load cover protection.
返回
Deterministic knickpoint sites; branches are intentionally excluded because they flow toward index zero.

在文件 CaveKnickpoint.cpp 第 38 行定义.

引用了 position, radius, tangent , 以及 eve::procgen::CaveHydrologyVec3::y.

◆ createCaveMixingSites()

EVENGINE_API_DOMAINS std::vector< CaveMixingSite > eve::procgen::createCaveMixingSites ( const std::vector< CaveHydrologyPoint > &  trunk,
const std::vector< CaveHydrologyBranch > &  branches,
uint32_t  seed 
)

Derive mixing sites from authoritative branch anchors in a cave hydrology network.

参数
trunkMain passage points.
branchesBranch passages whose first point is attached to trunkAnchor.
seedDeterministic chemistry-contrast seed.
返回
One bounded mixing site per valid branch junction.

在文件 CaveMixingCorrosion.cpp 第 34 行定义.

引用了 anchor, hash, eve::procgen::CaveHydrologyBranch::points, position, radius, seed, tangent, eve::procgen::CaveHydrologyBranch::trunkAnchor , 以及 trunkRadius.

◆ createCaveObstacleScourSites()

EVENGINE_API_DOMAINS std::vector< CaveObstacleScourSite > eve::procgen::createCaveObstacleScourSites ( const CaveBreakdownSet &  breakdown,
const std::vector< CaveHydrologyPoint > &  trunk,
const std::vector< float > &  hydraulicWeights,
float  sedimentLoad,
float  wallRoughness 
)

Couple landed breakdown blocks to the nearest authoritative cave-stream segment.

参数
breakdownExisting paired ceiling-collapse and landed-block set.
trunkMain cave-stream path ordered downstream.
hydraulicWeightsPer-segment authoritative hydraulic exposure.
sedimentLoadNormalized mobile sediment supply with tools-and-cover competition.
wallRoughnessNormalized multi-scale bed roughness that disrupts coherent horseshoe vortices.
返回
Deterministic scour sites; blocks outside the active passage footprint are ignored.

在文件 CaveObstacleScour.cpp 第 42 行定义.

引用了 distance, eve::procgen::CaveBreakdownSet::events, length, position, t, tangent, eve::procgen::CaveHydrologyVec3::x , 以及 eve::procgen::CaveHydrologyVec3::y.

◆ createCavePotholeSites()

EVENGINE_API_DOMAINS std::vector< CavePotholeSite > eve::procgen::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.

参数
trunkMain cave-stream path ordered downstream.
hydraulicWeightsPer-segment authoritative hydraulic exposure.
fracturesExisting deterministic cave fracture planes.
apertureVariabilitySpatial aperture variability used by the fracture field.
stressControlStress-controlled fracture branching strength.
sedimentLoadNormalized mobile sediment supply with tools-and-cover competition.
gravelSizeNormalized grinder size; fine tools spread downstream and coarse tools localize upstream.
seedDeterministic recipe seed shared with the fracture field.
返回
Spaced pothole sites; no site is invented without a crossing-fracture weak zone.

在文件 CavePotholes.cpp 第 41 行定义.

引用了 center, length, eve::procgen::CaveFractureSample::mask, position, radius, sampleCaveFracture(), second, seed, t, tangent, eve::procgen::CaveHydrologyVec3::x, eve::procgen::CaveHydrologyVec3::y , 以及 eve::procgen::CaveHydrologyVec3::z.

◆ createCaveSediment()

EVENGINE_API_DOMAINS CaveSedimentSet eve::procgen::createCaveSediment ( const std::vector< CaveSedimentPathPoint > &  path,
int  barCount,
float  strength,
float  paragenesis,
uint32_t  seed 
)

Create flow-aligned cave sediment bars with upstream-imbricated gravel.

参数
pathPassage centerline carrying local radius and paleoflow direction.
barCountMaximum number of deterministic longitudinal bars.
strengthNormalized transported sediment supply.
paragenesisNormalized sediment-constrained upward dissolution strength.
seedDeterministic generator seed.
返回
Bars, clasts, and observable deposition statistics.

在文件 CaveSediment.cpp 第 66 行定义.

引用了 across, eve::procgen::CaveSedimentSet::bars, eve::procgen::CaveSedimentBar::ceilingY, eve::procgen::CaveSedimentBar::channelHalfLength, eve::procgen::CaveSedimentBar::channelHalfWidth, eve::procgen::CaveSedimentBar::channelLift, eve::procgen::CaveSedimentBar::channelMeander, eve::procgen::CaveSedimentSet::clastCount, eve::procgen::CaveSedimentBar::clasts, eve::procgen::CaveSedimentSet::depositedVolume, end, eve::procgen::CaveSedimentClast::flowX, eve::procgen::CaveSedimentBar::flowX, eve::procgen::CaveSedimentClast::flowZ, eve::procgen::CaveSedimentBar::flowZ, length, eve::procgen::CaveSedimentBar::length, eve::procgen::CaveSedimentClast::longRadius, eve::procgen::CaveSedimentSet::maximumCeilingLift, eve::procgen::CaveSedimentSet::maximumNotchRetreat, eve::procgen::CaveSedimentSet::meanImbricationDegrees, eve::procgen::CaveSedimentSet::meanNotchThickness, eve::procgen::CaveSedimentSet::meanPalaeofillRatio, eve::procgen::CaveSedimentSet::meanParageneticWidth, eve::procgen::CaveSedimentBar::notchHalfHeight, eve::procgen::CaveSedimentBar::notchHalfLength, eve::procgen::CaveSedimentBar::notchHalfWidth, eve::procgen::CaveSedimentBar::palaeofillY, eve::procgen::CaveSedimentSet::paragenesisStrength, eve::procgen::CaveSedimentSet::parageneticChannels, eve::procgen::CaveSedimentBar::passageRadius, path, eve::procgen::CaveSedimentClast::pitch, radius, seed, eve::procgen::CaveSedimentClast::shortRadius, start, strength, t, eve::procgen::CaveSedimentBar::thickness, eve::procgen::CaveSedimentClast::thickRadius, unit, eve::procgen::CaveSedimentBar::width, eve::procgen::CaveSedimentClast::x, eve::procgen::CaveSedimentBar::x, eve::procgen::CaveSedimentClast::y, eve::procgen::CaveSedimentBar::y, eve::procgen::CaveSedimentClast::z , 以及 eve::procgen::CaveSedimentBar::z.

◆ decodeTerrainFile()

EVENGINE_API_DOMAINS eve::Result< DecodedTerrainFile > eve::procgen::decodeTerrainFile ( std::span< const std::uint8_t >  bytes,
TerrainFileFormat  format 
)

Decode a terrain height field from in-memory file bytes.

参数
bytesWhole file contents.
formatEncoding selector, or Auto to detect from the magic.
返回
The decoded height field, or a failure diagnostic naming the reason.

在文件 TerrainFile.cpp 第 172 行定义.

引用了 Auto, bytes, Evtr, Evtrn, eve::InvalidArgument, eve::ParseError, Raw16BE, Raw16LE, Raw8 , 以及 eve::Unsupported.

被这些函数引用 loadTerrainFile().

◆ defaultGtsTerrainLodLevels()

EVENGINE_API_DOMAINS std::vector< GtsTerrainLodLevelSettings > eve::procgen::defaultGtsTerrainLodLevels ( )

Return the four-level quality and transition profile used by GTSMeshSettings.

在文件 GtsTerrainLod.cpp 第 181 行定义.

被这些函数引用 buildDefaultGtsTerrainLodsFromHeightmapInto().

◆ deletePointAttribute()

Result< PointSet > eve::procgen::deletePointAttribute ( const PointSet &  input,
const std::string &  name 
)

◆ densityCullPoints()

EVENGINE_API_DOMAINS PointSet eve::procgen::densityCullPoints ( const PointSet &  input,
uint32_t  seed,
float  multiplier 
)

Deterministically keep points according to density and a root seed.

在文件 PointSet.cpp 第 1058 行定义.

引用了 appendPointRow(), input, output, point, seed , 以及 size.

被这些函数引用 eve::procgen::Procgen::densityCullHandle().

◆ densityFromNormal()

PointSet eve::procgen::densityFromNormal ( const PointSet &  input,
float  minDegrees,
float  maxDegrees,
float  outputMin,
float  outputMax,
bool  invert 
)

Remap surface slope (from normals) into density.

Slope degrees come from acos(normalY). Values outside [minDegrees, maxDegrees] clamp to the output endpoints; invert reverses the mapping.

在文件 PointSet.cpp 第 1070 行定义.

引用了 degrees, index, input, eve::procgen::PointSet::mutablePoint(), ny, point, eve::procgen::PointSet::points(), range, size , 以及 t.

◆ derivePointId()

EVENGINE_API_DOMAINS std::uint64_t eve::procgen::derivePointId ( std::uint64_t  namespaceId,
std::uint64_t  ordinal 
)

◆ deriveSeed()

EVENGINE_API_DOMAINS uint32_t eve::procgen::deriveSeed ( uint32_t  parent,
const std::string &  scope 
)

Stable label-based seed derivation; independent pipeline branches do not perturb each other.

在文件 PointSet.cpp 第 459 行定义.

引用了 hash, parent , 以及 scope.

被这些函数引用 eve::procgen::road::detail::bakeTrafficControlPoints(), copyPointsToTargets(), eve::procgen::Procgen::deriveSeed(), eve::procgen::ProcgenContext::seedFor() , 以及 eve::procgen::Procgen::~Procgen().

◆ deriveTerrainSlope()

EVENGINE_API_DOMAINS Result< int > eve::procgen::deriveTerrainSlope ( Heightmap &  target,
const Heightmap &  heights,
float  spacingX,
float  spacingZ,
float  heightScale = 1 
)

Derive the shader's slope metric 1-normal.y from world-scaled height gradients.

参数
targetBorrowed destination, same size as heights; may alias heights.
heightsBorrowed finite height grid. Interior differences are centered; edges use one-sided differences, singleton axes have zero derivative. For tiled derivatives supply a halo and crop the result; no absent neighbor is invented.
spacingXPositive finite X sample spacing.
spacingZPositive finite Z sample spacing.
heightScaleFinite multiplier converting stored heights to world units.
返回
Changed sample count or InvalidArgument; failure is atomic. Output is [0,1].
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access, no retained borrows or callbacks. This derives normals from heights; imported Unity normals may yield different gradients.

在文件 TerrainMask.cpp 第 327 行定义.

引用了 bottom, dx, dz, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), left, eve::procgen::raster_detail::publish(), right, spacingX, spacingZ, target, top, x , 以及 y.

◆ detachUnsupportedCaveFragments()

EVENGINE_API_DOMAINS CaveDetachmentResult eve::procgen::detachUnsupportedCaveFragments ( std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
float  strength 
)

Detaches unsupported cave fragments.

在文件 CaveSupport.cpp 第 10 行定义.

引用了 anchor, eve::procgen::CaveDetachmentResult::detachedVoxels, dx, dy, dz, index, nx, ny, nz, strength, eve::procgen::CaveDetachmentResult::unsupportedVoxels, x, y , 以及 z.

◆ differencePointSets()

PointSet eve::procgen::differencePointSets ( const PointSet &  first,
const PointSet &  second 
)

Remove first-set points whose stable or legacy identity occurs in the second set.

在文件 PointSet.cpp 第 875 行定义.

引用了 appendPointRow(), first, index, point, eve::procgen::PointSet::reserve() , 以及 second.

被这些函数引用 eve::procgen::Procgen::differencePointsHandle().

◆ diffPointSets()

◆ encodeGtsMaskedTerrainObj()

EVENGINE_API_DOMAINS Result< std::string > eve::procgen::encodeGtsMaskedTerrainObj ( const Heightmap &  heightmap,
const Heightmap &  maskmap,
GtsTerrainSaveResolution  resolution,
float  sizeX,
float  sizeY,
float  sizeZ,
GtsTerrainObjFaceMode  faceMode,
float  threshold = 0.2f,
bool  invert = false 
)

Encode Pcg's cell-classified masked terrain OBJ convention.

参数
heightmapBorrowed immutable terrain heights consumed synchronously.
maskmapBorrowed immutable normalized mask consumed synchronously; dimensions may differ from the terrain.
thresholdCells whose lower-left mask sample is below this value belong to the outside mesh.
invertSelect the outside mesh when true and the inside mesh otherwise.
返回
Deterministic UTF-8 Wavefront OBJ text or a structured validation failure.

在文件 GtsTerrainExportSettings.cpp 第 591 行定义.

引用了 a, b, buildGtsTerrainBaseMesh(), c, d, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), height, index, indices, eve::InvalidArgument, eve::procgen::Heightmap::sampleBilinear(), eve::Result< T >::success(), text, Triangles, u, v, vertices, x, y , 以及 z.

◆ encodeGtsTerrainObj()

EVENGINE_API_DOMAINS Result< std::string > eve::procgen::encodeGtsTerrainObj ( const Heightmap &  heightmap,
GtsTerrainSaveResolution  resolution,
float  sizeX,
float  sizeY,
float  sizeZ,
GtsTerrainObjFaceMode  faceMode 
)

Encode the original Pcg unmasked terrain OBJ coordinate, UV and face convention.

参数
heightmapBorrowed immutable source consumed synchronously.
resolutionPower-of-two terrain sampling reduction.
faceModeTriangle or quad face output.
返回
Deterministic UTF-8 Wavefront OBJ text or a structured validation failure.

在文件 GtsTerrainExportSettings.cpp 第 545 行定义.

引用了 a, b, buildGtsTerrainBaseMesh(), c, d, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), height, eve::procgen::Heightmap::height(), eve::InvalidArgument, eve::Result< T >::success(), text, Triangles, u, v, width, x , 以及 y.

◆ ensurePointSetDataRow()

void eve::procgen::ensurePointSetDataRow ( PointSet &  points)

Return whether name is a known $-prefixed float point-field selector.

Ensure PointSet @Data domain has exactly one row for metadata writes.

在文件 PointSetAttributeOps.cpp 第 596 行定义.

引用了 points.

被这些函数引用 setPointDataFloatAttribute(), setPointDataIntAttribute(), setPointDataStringAttribute() , 以及 writePointFloatChannel().

◆ erodeCaveByCondensation()

EVENGINE_API_DOMAINS CaveCondensationResult eve::procgen::erodeCaveByCondensation ( std::vector< float > &  density,
const std::vector< float > &  hydraulicExposure,
int  nx,
int  ny,
int  nz,
float  strength,
uint32_t  seed 
)

Upscale long-term condensation corrosion into shallow ceiling-wall pitting.

参数
densityDense x-major signed density field, mutated in place.
hydraulicExposurePer-voxel relative hydraulic exposure; high values suppress condensation corrosion.
nxGrid samples on X.
nyGrid samples on Y.
nzGrid samples on Z.
strengthCorrosion intensity in [0, 1].
seedDeterministic microclimate and pitting seed.
返回
Affected voxel count and bounded retreat statistics in normalized cave space.

在文件 CaveCondensation.cpp 第 25 行定义.

引用了 eve::procgen::CaveCondensationResult::affectedVoxels, d, index, eve::procgen::CaveCondensationResult::maximumRetreat, nx, ny, nz, px, py, pz, seed, source, strength, eve::procgen::CaveCondensationResult::totalRetreat, x, y , 以及 z.

◆ evolveCaveSurfaceByCorrelatedReactivity()

EVENGINE_API_DOMAINS CaveReactivePatchinessResult eve::procgen::evolveCaveSurfaceByCorrelatedReactivity ( std::vector< float > &  density,
const std::vector< float > &  rateField,
const std::vector< CaveHydrologyVec3 > &  flowField,
int  nx,
int  ny,
int  nz,
float  strength,
uint64_t  seed,
int  iterations = 2 
)

Retreat a cave surface through a deterministic, multiscale correlated reactivity field.

参数
densityExclusively borrowed signed density field; negative values are cave air and positive values rock.
rateFieldSynchronously borrowed per-voxel reactive-access multiplier with the same extent as density.
flowFieldSynchronously borrowed normalized local passage-flow directions with the same extent as density.
nxX-axis sample count.
nyY-axis sample count.
nzZ-axis sample count.
strengthOpt-in heterogeneous-reactivity strength in [0, 1].
seedExplicit deterministic seed; no global RNG or wall-clock state is read.
iterationsNumber of surface-feedback iterations.
返回
Owning diagnostics. The same inputs are deterministic on the same CPU floating-point backend.
注解
This synchronous CPU operation has no thread affinity, but density must not be accessed concurrently. Invalid extents are treated as an inactive operation and leave density unchanged.

在文件 CaveReactivePatchiness.cpp 第 84 行定义.

引用了 across, eve::procgen::CaveReactivePatchinessResult::affectedVoxels, center, eve::procgen::CaveReactivePatchinessResult::channelAnisotropy, iterations, eve::procgen::CaveReactivePatchinessResult::maximumPatchRate, eve::procgen::CaveReactivePatchinessResult::maximumRetreat, eve::procgen::CaveReactivePatchinessResult::meanFlowCoherence, eve::procgen::CaveReactivePatchinessResult::meanNeighborCoherence, eve::procgen::CaveReactivePatchinessResult::meanTransverseCoherence, eve::procgen::CaveReactivePatchinessResult::minimumPatchRate, nx, ny, nz, position, px, py, pz, seed, source, strength, eve::procgen::CaveReactivePatchinessResult::totalRetreat, value, x, y , 以及 z.

◆ evolveCaveSurfaceByCurvature() [1/2]

EVENGINE_API_DOMAINS CaveSurfaceEvolutionResult eve::procgen::evolveCaveSurfaceByCurvature ( std::vector< float > &  density,
const std::vector< float > &  rateField,
int  nx,
int  ny,
int  nz,
float  strength,
int  iterations 
)

Evolve cave surface by curvature.

在文件 CaveSurfaceEvolution.cpp 第 92 行定义.

引用了 evolveSurface(), iterations, nx, ny, nz , 以及 strength.

◆ evolveCaveSurfaceByCurvature() [2/2]

EVENGINE_API_DOMAINS CaveSurfaceEvolutionResult eve::procgen::evolveCaveSurfaceByCurvature ( std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
float  strength,
int  iterations 
)

Evolve cave surface by curvature.

在文件 CaveSurfaceEvolution.cpp 第 87 行定义.

引用了 evolveSurface(), iterations, nx, ny, nz , 以及 strength.

◆ evolveCaveSurfaceByReactivity()

EVENGINE_API_DOMAINS CaveSurfaceReactivityResult eve::procgen::evolveCaveSurfaceByReactivity ( std::vector< float > &  density,
const std::vector< float > &  rateField,
int  nx,
int  ny,
int  nz,
float  strength,
int  iterations = 2 
)

Retreat rough, highly reactive surface sites using rotation-invariant normal dispersion.

参数
densitySigned density field, negative in cave air and positive in rock.
rateFieldPer-voxel reactive-access multiplier.
nxX-axis sample count.
nyY-axis sample count.
nzZ-axis sample count.
strengthOpt-in coupling strength in [0, 1].
iterationsNumber of geometry-feedback iterations.
返回
Deterministic retreat and local roughness diagnostics.

在文件 CaveSurfaceReactivity.cpp 第 35 行定义.

引用了 eve::procgen::CaveSurfaceReactivityResult::affectedVoxels, center, iterations, eve::procgen::CaveSurfaceReactivityResult::maximumNormalDispersion, eve::procgen::CaveSurfaceReactivityResult::maximumRateMultiplier, eve::procgen::CaveSurfaceReactivityResult::maximumRetreat, eve::procgen::CaveSurfaceReactivityResult::minimumRateMultiplier, nx, ny, nz, offset, source, strength, sx, sy, sz, eve::procgen::CaveSurfaceReactivityResult::totalRetreat, value, x, y , 以及 z.

◆ evolveSurface()

◆ excludePointRadius()

PointSet eve::procgen::excludePointRadius ( const PointSet &  input,
float  x,
float  z,
float  radius 
)

Exclude point radius.

在文件 PointSet.cpp 第 670 行定义.

引用了 appendPointRow(), dx, dz, index, input, output, point, radius, size, x , 以及 z.

被这些函数引用 eve::procgen::Procgen::excludeRadiusHandle().

◆ excludePointsByGridMask()

EVENGINE_API_DOMAINS Result< PointSet > eve::procgen::excludePointsByGridMask ( const PointSet &  input,
const Grid2D &  mask,
float  originX,
float  originZ,
float  cellSize,
int  semantic,
float  clearance,
std::size_t  maximumChecks 
)

Remove points covered by a semantic grid mask plus optional world-space clearance.

参数
inputImmutable attributed input points.
maskImmutable semantic grid.
originXWorld X coordinate of mask cell (0,0).
originZWorld Z coordinate of mask cell (0,0).
cellSizePositive square-cell size in world units.
semanticNon-negative cell value treated as occupied.
clearanceNon-negative world-space expansion around occupied cells.
maximumChecksHard upper bound on examined mask cells.
返回
Filtered owning set, or a structured validation/budget diagnostic. @cost Linear in point count times the clearance-radius cell area, bounded by maximumChecks.

在文件 PointSet.cpp 第 682 行定义.

引用了 appendPointRow(), dx, dz, eve::Diagnostic::error(), eve::Result< T >::failure(), index, input, eve::InvalidArgument, mask, output, point, eve::PreconditionViolation, eve::procgen::PointSet::reserve(), semantic, eve::Result< T >::success(), u, x , 以及 z.

被这些函数引用 eve::procgen::Procgen::excludeGridMaskHandle().

◆ exportTerrainDetailPoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::exportTerrainDetailPoints ( PointSet &  output,
const TerrainDetailLayer &  layer,
const Heightmap &  heights,
const TerrainDetailPlacementSettings &  settings 
)

Expand integer detail counts into the existing attributed PointSet, atomically.

参数
outputExclusively borrowed destination, replaced only on success.
layerImmutable initialized counts; each count emits that many instances.
heightsFinite terrain grid spanning the placement rectangle at its endpoint samples; resolution is independent of the detail grid. Singleton axes are constant.
settingsFinite positive domain extents/scale range, finite height scale and origin, nonzero namespace unique to this resource/tile, nonempty asset reference, normalized linear colors, noiseSpread in [0,1], and nonnegative point budget.
返回
Emitted count or diagnostic; invalid input, exceeded budget or allocation exception preserves output. Owned output carries asset and detailCell/detailOrdinal attributes plus deterministic coherent healthy/dry point colors. IDs derive from namespace, row-major cell and ordinal; named position/rotation/scale hash streams are independent of counts. Increasing another cell's density preserves existing identities and transforms. Changing grid dimensions or namespace changes identity scope. No asset is loaded or borrowed; resource resolution stays downstream. Pcg delegates color noise to Unity Terrain; this native value-noise reconstruction preserves its exposed endpoints, seed and increasing-frequency spread meaning, without claiming Unity-internal numerical parity. Native within-cell jitter and upright normals replace Unity-owned detail instancing; no Unity position parity. Caller serializes output and input access on its owner thread; no callbacks, retained references or hidden time.

在文件 TerrainDetailPlacement.cpp 第 37 行定义.

引用了 cell, count, eve::Result< T >::failure(), eve::procgen::ProcgenPoint::id, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), layer, output, p, px, py, pz, s, eve::procgen::raster_detail::sample(), source, eve::Result< T >::success(), u, unit, v, eve::procgen::raster_detail::validRaster(), x , 以及 z.

◆ exportTerrainObjectPoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::exportTerrainObjectPoints ( PointSet &  output,
const Heightmap &  fitness,
const Heightmap &  heights,
const TerrainObjectPlacementSettings &  settings 
)

Export Pcg-style terrain game-object resources into an attributed PointSet atomically.

参数
outputExclusively borrowed destination replaced only after the complete candidate succeeds.
fitnessFinite normalized distribution raster spanning the terrain rectangle.
heightsFinite normalized terrain-height raster; its resolution is independent from fitness.
settingsExplicit prototype, child resources, world domain, seed, collision and transform rules.
返回
Emitted child instance count or structured InvalidArgument diagnostic. @ownership Retains no input, callback, asset or scene object. Caller serializes access on its owner thread. Candidate traversal uses one Pcg XorshiftPlus stream and no time source. Stable identities derive from namespace, candidate cell, resource index and child ordinal. Asset resolution and scene ownership remain downstream.

在文件 TerrainObjectPlacement.cpp 第 92 行定义.

引用了 count, Custom, cx, eve::procgen::Heightmap::data(), direction, Fitness, FitnessRandomized, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::ProcgenPoint::id, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), normal, offsetX, output, p, pitch, point, px, pz, radius, Random, random, resource, roll, s, eve::procgen::raster_detail::sample(), SeaLevel, source, strength, eve::Result< T >::success(), sx, sy, sz, eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), x, yaw , 以及 z.

◆ exportTerrainProbePoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::exportTerrainProbePoints ( PointSet &  output,
const Heightmap &  fitness,
const Heightmap &  heights,
const TerrainProbePlacementSettings &  settings 
)

Export Pcg ReflectionProbe or LightProbe placements into an owned attributed PointSet.

参数
outputExclusively borrowed destination, atomically replaced after the full scan succeeds.
fitnessFinite normalized fitness raster over the configured rectangle.
heightsFinite normalized terrain heights, independently resolved.
settingsExplicit deterministic scan, height, resource and reflection settings.
返回
Emitted probe count or InvalidArgument; failure leaves output unchanged.
异常
std::bad_allocOutput remains unchanged. @thread Synchronous exclusive output access; no scene object, callback, clock or RNG state is retained.

在文件 TerrainProbePlacement.cpp 第 37 行定义.

引用了 clip, eve::procgen::Heightmap::data(), eve::procgen::ProcgenPoint::id, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Light, name, output, point, random, Reflection, s, source, strength, eve::Result< T >::success(), eve::procgen::raster_detail::textureSample(), type, u, v, eve::procgen::raster_detail::validRaster(), x, y , 以及 z.

◆ exportTerrainTreePoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::exportTerrainTreePoints ( PointSet &  output,
const Heightmap &  fitness,
const Heightmap &  heights,
const TerrainTreePlacementSettings &  settings 
)

Scan a terrain rectangle and atomically export accepted Pcg-style tree instances.

参数
outputExclusively borrowed destination replaced only after every candidate and attribute succeeds.
fitnessFinite normalized placement fitness sampled over the complete terrain rectangle.
heightsFinite normalized terrain heights sampled independently from the fitness resolution.
settingsPositive finite domain, spacing, density, dimensions and bounds; normalized probabilities/colors; valid enum values; ordered offset/scale ranges; nonzero namespace; nonempty resource; nonnegative budget.
返回
Emitted point count or a structured diagnostic. Candidate traversal and conditional XorshiftPlus draws match Pcg's tree path: failure, X/Z jitter, fitness feather, optional offset/scale randomization, then yaw. Point IDs derive from namespace and scan-cell identity rather than random draw position. Each point owns world position, independent width/height scale, yaw, fitness color and asset/treeCandidate/bendFactor metadata. Caller serializes access on the owner thread; the operation retains no references, invokes no callbacks, reads no hidden time and publishes nothing on failure.

在文件 TerrainTreePlacement.cpp 第 61 行定义.

引用了 cell, Custom, eve::procgen::Heightmap::data(), eve::Result< T >::failure(), Fitness, FitnessRandomized, height, eve::procgen::ProcgenPoint::id, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, point, radius, Random, random, s, eve::procgen::raster_detail::sample(), SeaLevel, source, strength, eve::Result< T >::success(), eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), value , 以及 width.

◆ exposeBiomeRules()

◆ exposeGridMeshGraphs()

void eve::procgen::exposeGridMeshGraphs ( ssq::Table &  table)

◆ exposeHeightmap()

EVENGINE_API_DOMAINS void eve::procgen::exposeHeightmap ( ssq::Table &  table)

Register heightmap and stamp value bindings; VM-thread only, retains no table reference.

在文件 TerrainStampScript.cpp 第 47 行定义.

引用了 name , 以及 vm.

◆ exposeHexTerrain()

void eve::procgen::exposeHexTerrain ( ssq::Class &  cls)

Expose generateHexTerrain / generateHexSphere on the Procgen class.

在文件 HexMapTerrain.cpp 第 166 行定义.

引用了 cls, params , 以及 vm.

◆ exposeMeshModifierGraph()

void eve::procgen::exposeMeshModifierGraph ( ssq::Table &  table)

◆ exposeModuleAssembly()

void eve::procgen::exposeModuleAssembly ( ssq::Table &  table)

Bind the VM-owned assembly planner synchronously on the VM owner thread.

在文件 ModuleAssemblyScript.cpp 第 7 行定义.

引用了 accepts, facing, index, level, eve::script::projectResult(), tag, value , 以及 vm.

◆ exposePcgFrameRateManagerBindings()

◆ exposePcgTaskQueueBindings()

void eve::procgen::exposePcgTaskQueueBindings ( ssq::Table &  table)

Register PcgTaskQueue Squirrel bindings.

在文件 PcgTaskQueue.cpp 第 37 行定义.

引用了 cls, q , 以及 vm.

◆ exposePointGraph()

void eve::procgen::exposePointGraph ( ssq::Table &  table)

Register PointGraph script types on the Procgen module table.

在文件 PointGraphScript.cpp 第 60 行定义.

引用了 eve::procgen::PointGraph::addNode(), eve::procgen::PointGraph::clearCache(), eve::procgen::PointGraph::clearParameterOverride(), eve::procgen::PointGraph::debugReport(), eve::procgen::PointGraph::deserializeDefinition(), eve::procgen::PointGraph::execute(), eve::procgen::PointGraph::exposeParameter(), eve::procgen::PointGraph::getCacheHitCount(), eve::procgen::PointGraph::getCompiledSegmentCount(), eve::procgen::PointGraph::getComputeBufferReuseCount(), eve::procgen::PointGraph::getComputeDispatchCount(), eve::procgen::PointGraph::getComputeFallbackReason(), eve::procgen::PointGraph::getComputeMinimumPoints(), eve::procgen::PointGraph::getComputePeakBufferBytes(), eve::procgen::PointGraph::getComputePolicy(), eve::procgen::PointGraph::getComputeReadbackCount(), eve::procgen::PointGraph::getComputeUploadCount(), eve::procgen::PointGraph::getError(), eve::procgen::PointGraph::getExecutionCount(), eve::procgen::PointGraph::getExecutionNodeBudget(), eve::procgen::PointGraph::getExecutionPlanBuildCount(), eve::procgen::PointGraph::getInputNode(), eve::procgen::PointGraph::getLastFusedTransformCount(), eve::procgen::PointGraph::getMaxNodeOutputPoints(), eve::procgen::PointGraph::getMetricAverageDensity(), eve::procgen::PointGraph::getMetricBackend(), eve::procgen::PointGraph::getMetricCount(), eve::procgen::PointGraph::getMetricMaxX(), eve::procgen::PointGraph::getMetricMaxY(), eve::procgen::PointGraph::getMetricMaxZ(), eve::procgen::PointGraph::getMetricMilliseconds(), eve::procgen::PointGraph::getMetricMinX(), eve::procgen::PointGraph::getMetricMinY(), eve::procgen::PointGraph::getMetricMinZ(), eve::procgen::PointGraph::getMetricNodeId(), eve::procgen::PointGraph::getMetricOutputCount(), eve::procgen::PointGraph::getNodeCount(), eve::procgen::PointGraph::getNodeId(), eve::procgen::PointGraph::getNodeOperation(), eve::procgen::PointGraph::getNodeOutput(), eve::procgen::PointGraph::getOperationCount(), eve::procgen::PointGraph::getOperationId(), eve::procgen::PointGraph::getOperationInputCount(), eve::procgen::PointGraph::getOperationParamCount(), eve::procgen::PointGraph::getOperationParamDefault(), eve::procgen::PointGraph::getOperationParamKey(), eve::procgen::PointGraph::getOperationParamKind(), eve::procgen::PointGraph::getParameterCount(), eve::procgen::PointGraph::getParameterFloat(), eve::procgen::PointGraph::getParameterInt(), eve::procgen::PointGraph::getParameterKind(), eve::procgen::PointGraph::getParameterName(), eve::procgen::PointGraph::getParameterString(), eve::procgen::PointGraph::getRevision(), graph, eve::procgen::PointGraph::hasNode(), eve::procgen::PointGraph::hasParameterOverride(), index, eve::procgen::PointGraph::instantiate(), eve::procgen::PointGraph::isMetricCacheHit(), operation, output, eve::procgen::PointGraph::removeNode(), eve::procgen::PointGraph::requestCancel(), eve::procgen::PointGraph::resetCancellation(), eve::procgen::PointGraph::serializeDefinition(), eve::procgen::PointGraph::setComputeMinimumPoints(), eve::procgen::PointGraph::setComputePolicy(), eve::procgen::PointGraph::setExecutionNodeBudget(), eve::procgen::PointGraph::setMaxNodeOutputPoints(), eve::procgen::PointGraph::setNodeBiomeRules(), eve::procgen::PointGraph::setNodeFloat(), eve::procgen::PointGraph::setNodeInt(), eve::procgen::PointGraph::setNodePoints(), eve::procgen::PointGraph::setNodeShapeGrammar(), eve::procgen::PointGraph::setNodeSpatial(), eve::procgen::PointGraph::setNodeString(), eve::procgen::PointGraph::setNodeSubgraph(), eve::procgen::PointGraph::setParameterFloat(), eve::procgen::PointGraph::setParameterInt(), eve::procgen::PointGraph::setParameterString(), eve::procgen::PointGraph::validate(), vm , 以及 eve::procgen::PointGraph::wasCancelled().

◆ exposeRuntimeGeneration()

void eve::procgen::exposeRuntimeGeneration ( ssq::Table &  table)

Register owner-thread runtime-generation script interfaces.

在文件 RuntimeGenerationScript.cpp 第 9 行定义.

引用了 eve::procgen::RuntimeGeneration::addLevel(), eve::procgen::RuntimeGeneration::beginFrame(), eve::procgen::RuntimeGeneration::clear(), eve::procgen::RuntimeGeneration::getCommittedRefreshRevision(), eve::procgen::RuntimeGeneration::getDirectionWeight(), eve::procgen::RuntimeGeneration::getFrameTimeBudget(), eve::procgen::ProcgenCellRequest::getLevel(), eve::procgen::ProcgenGenerationJob::getLevel(), eve::procgen::RuntimeGeneration::getLevelCellSize(), eve::procgen::RuntimeGeneration::getLevelCleanupRadius(), eve::procgen::RuntimeGeneration::getLevelCount(), eve::procgen::RuntimeGeneration::getLevelGenerationRadius(), eve::procgen::RuntimeGeneration::getMaxActiveCells(), eve::procgen::RuntimeGeneration::getMaxGenerating(), eve::procgen::RuntimeGeneration::getMaxGenerationRetries(), eve::procgen::RuntimeGeneration::getMaxPointsPerCell(), eve::procgen::RuntimeGeneration::getMaxResidentPoints(), eve::procgen::ProcgenCellRequest::getMaxX(), eve::procgen::ProcgenGenerationJob::getMaxX(), eve::procgen::ProcgenCellRequest::getMaxZ(), eve::procgen::ProcgenGenerationJob::getMaxZ(), eve::procgen::ProcgenCellRequest::getMinX(), eve::procgen::ProcgenGenerationJob::getMinX(), eve::procgen::ProcgenCellRequest::getMinZ(), eve::procgen::ProcgenGenerationJob::getMinZ(), eve::procgen::RuntimeGeneration::getRefreshWorkBudget(), eve::procgen::RuntimeGeneration::getRejectedOutputCount(), eve::procgen::RuntimeGeneration::getResidentPointCount(), eve::procgen::ProcgenCellRequest::getSeed(), eve::procgen::ProcgenGenerationJob::getSeed(), eve::procgen::ProcgenCellRequest::getTicket(), eve::procgen::ProcgenGenerationJob::getTicket(), eve::procgen::ProcgenCellRequest::getX(), eve::procgen::ProcgenGenerationJob::getX(), eve::procgen::ProcgenCellRequest::getZ(), eve::procgen::ProcgenGenerationJob::getZ(), eve::procgen::RuntimeGeneration::isRefreshPending(), eve::procgen::RuntimeGeneration::setDirectionWeight(), eve::procgen::RuntimeGeneration::setFrameTimeBudget(), eve::procgen::RuntimeGeneration::setMaxActiveCells(), eve::procgen::RuntimeGeneration::setMaxGenerating(), eve::procgen::RuntimeGeneration::setMaxGenerationRetries(), eve::procgen::RuntimeGeneration::setMaxPointsPerCell(), eve::procgen::RuntimeGeneration::setMaxResidentPoints(), eve::procgen::RuntimeGeneration::setRefreshWorkBudget(), eve::procgen::RuntimeGeneration::trimToResidentPoints(), value , 以及 vm.

◆ exposeScriptGeneratorHost()

void eve::procgen::exposeScriptGeneratorHost ( ssq::Class &  cls)

Add the synchronous script-generator host API to the Procgen facade.

参数
clsProcgen Squirrel class owned by the active VM. @thread The active Squirrel VM's owning thread only. @reentrancy A generator may run another system, but the same system cannot recursively rebuild itself.

在文件 ScriptGeneratorHost.cpp 第 143 行定义.

引用了 cls, eve::InvalidArgument, params, seed , 以及 vm.

◆ exposeShapeGrammar()

◆ exposeTerrainCurveTexture()

EVENGINE_API_DOMAINS void eve::procgen::exposeTerrainCurveTexture ( ssq::Table &  table)

Register the Pcg terrain curve texture adapter; VM-thread only.

在文件 TerrainCurveTexture.cpp 第 37 行定义.

引用了 curve, output , 以及 vm.

◆ exposeTerrainGrassAdapter()

void eve::procgen::exposeTerrainGrassAdapter ( ssq::Table &  table)

Register full-host grass adapter; VM-thread only, no retained table reference.

在文件 TerrainGrassAdapter.cpp 第 62 行定义.

引用了 albedo, height, mask, normal, points, settings, vm , 以及 width.

◆ exposeTerrainImageAdapter()

EVENGINE_API_DOMAINS void eve::procgen::exposeTerrainImageAdapter ( ssq::Table &  table)

Register the full-host ImageData adapter; VM-thread only, no retained table reference.

在文件 TerrainImageAdapter.cpp 第 813 行定义.

引用了 a, eve::procgen::GtsSnowSurfaceSettings::age, eve::procgen::GtsColorMapSettings::alphaIntensity, b, eve::procgen::GtsSnowSurfaceSettings::blendRange, eve::procgen::GtsSnowSurfaceSettings::colorB, eve::procgen::GtsSnowSurfaceSettings::colorG, eve::procgen::GtsColorMapSettings::colorIntensity, eve::procgen::GtsSnowSurfaceSettings::colorR, eve::procgen::GtsRainSurfaceSettings::darkness, detail, eve::procgen::GtsSnowSurfaceSettings::displacementBrightness, eve::procgen::GtsSnowSurfaceSettings::displacementContrast, eve::procgen::GtsSnowSurfaceSettings::displacementIncrease, eve::procgen::GtsSnowSurfaceSettings::enabled, eve::procgen::GtsRainSurfaceSettings::enabled, eve::procgen::GtsGeologicalSettings::enabled, eve::procgen::GtsDetailNormalSettings::enabled, eve::procgen::GtsColorMapSettings::farIntensity, eve::procgen::GtsGeologicalSettings::farNormalStrength, eve::procgen::GtsGeologicalSettings::farOffset, eve::procgen::GtsGeologicalSettings::farScale, eve::procgen::GtsGeologicalSettings::farStrength, eve::procgen::GtsDetailNormalSettings::farStrength, eve::procgen::GtsDetailNormalSettings::farTiling, g, eve::procgen::GtsSnowSurfaceSettings::heightBrightness, eve::procgen::GtsSnowSurfaceSettings::heightContrast, eve::procgen::GtsSnowSurfaceSettings::heightIncrease, eve::procgen::GtsMacroVariationSettings::intensity, eve::procgen::GtsRainSurfaceSettings::maximumHeight, eve::procgen::GtsSnowSurfaceSettings::minimumHeight, eve::procgen::GtsRainSurfaceSettings::minimumHeight, eve::procgen::GtsColorMapSettings::nearIntensity, eve::procgen::GtsGeologicalSettings::nearNormalStrength, eve::procgen::GtsGeologicalSettings::nearOffset, eve::procgen::GtsGeologicalSettings::nearScale, eve::procgen::GtsGeologicalSettings::nearStrength, eve::procgen::GtsDetailNormalSettings::nearStrength, eve::procgen::GtsDetailNormalSettings::nearTiling, eve::procgen::GtsSnowSurfaceSettings::normalStrength, eve::procgen::GtsMacroVariationSettings::objectSpace, eve::procgen::GtsGeologicalSettings::objectSpace, eve::procgen::GtsDetailNormalSettings::objectSpace, palette, eve::procgen::GtsSnowSurfaceSettings::power, eve::procgen::GtsRainSurfaceSettings::power, r, eve::procgen::GtsSnowSurfaceSettings::scale, eve::procgen::GtsRainSurfaceSettings::scale, eve::procgen::GtsSnowSurfaceSettings::setMaskRemapMax(), eve::procgen::GtsSnowSurfaceSettings::setMaskRemapMin(), eve::procgen::GtsMacroVariationSettings::sizeA, eve::procgen::GtsMacroVariationSettings::sizeB, eve::procgen::GtsMacroVariationSettings::sizeC, eve::procgen::GtsSnowSurfaceSettings::slopeBlend, eve::procgen::GtsRainSurfaceSettings::smoothness, eve::procgen::GtsRainSurfaceSettings::speed, eve::procgen::GtsSnowSurfaceSettings::tessellationAmount , 以及 vm.

◆ fillDensityField()

EVENGINE_API_DOMAINS bool eve::procgen::fillDensityField ( const Params &  params,
std::vector< float > &  density,
int &  nx,
int &  ny,
int &  nz,
std::string &  error 
)

Fill a density volume from a named field recipe (sphere / noise / terrain / torus).

在文件 MarchingCubes.cpp 第 341 行定义.

引用了 bx, by, bz, d, error, fillDensityField(), h, margin, n, nx, ny, nz, params, px, py, pz, q, qx, qy, qz, r, radius, scale, seed, steps, sy, x, y , 以及 z.

被这些函数引用 fillDensityField() , 以及 generateMarchingCubesMesh().

◆ fillHeightField()

void eve::procgen::fillHeightField ( const TextureGenContext &  ctx,
const std::function< float(float, float, const NoiseField &)> &  fn,
std::vector< float > &  height 
)

Sample a height function over the full [w×h] grid into height (clamped to [0,1]).

参数
fnFloat.

在文件 TextureRecipe.cpp 第 108 行定义.

引用了 fn, height, eve::procgen::TextureGenContext::height, n, eve::procgen::TextureGenContext::scale, eve::procgen::TextureGenContext::seamless, eve::procgen::NoiseField::seed, eve::procgen::TextureGenContext::seed, u, v, eve::procgen::TextureGenContext::width, x , 以及 y.

被这些函数引用 generatePbrSet().

◆ fillTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::fillTerrainHeightmap ( Heightmap &  target,
float  value 
)

Fill a finite Pcg heightmap with one value clamped to [0,1].

参数
targetDestination.
valueFill value.
返回
Changed samples or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 538 行定义.

引用了 eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ filterPointBoolAttribute()

PointSet eve::procgen::filterPointBoolAttribute ( const PointSet &  input,
const std::string &  name,
bool  value,
bool  invert 
)

Select points whose named bool attribute equals a value.

在文件 PointSetAttributeOps.cpp 第 329 行定义.

引用了 eve::procgen::PointSet::attributes(), found, eve::procgen::AttributeTable::getBool(), index, input, name, output, size , 以及 value.

◆ filterPointBox()

PointSet eve::procgen::filterPointBox ( const PointSet &  input,
float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ,
bool  invert 
)

Filter point box.

在文件 PointSet.cpp 第 606 行定义.

引用了 appendPointRow(), index, input, inside, output, point, eve::procgen::PointSet::points() , 以及 size.

被这些函数引用 eve::procgen::Procgen::filterBoxHandle().

◆ filterPointDensity()

PointSet eve::procgen::filterPointDensity ( const PointSet &  input,
float  minDensity,
float  maxDensity 
)

Filter point density.

在文件 PointSet.cpp 第 597 行定义.

引用了 appendPointRow(), index, input, output , 以及 size.

被这些函数引用 eve::procgen::Procgen::filterDensityHandle().

◆ filterPointFloatAttribute()

PointSet eve::procgen::filterPointFloatAttribute ( const PointSet &  input,
const std::string &  name,
float  minValue,
float  maxValue,
bool  invert 
)

Select points whose named float attribute or $ selector lies in an inclusive range.

在文件 PointSetAttributeOps.cpp 第 298 行定义.

引用了 eve::procgen::PointSet::attributes(), eve::procgen::AttributeTable::getFloat(), index, input, name, output, readPointFloatChannel(), stored , 以及 value.

被这些函数引用 eve::procgen::Procgen::filterFloatAttributeHandle().

◆ filterPointHeight()

EVENGINE_API_DOMAINS PointSet eve::procgen::filterPointHeight ( const PointSet &  input,
float  minHeight,
float  maxHeight 
)

Filter point height.

在文件 PointSet.cpp 第 588 行定义.

引用了 appendPointRow(), index, input, output , 以及 size.

被这些函数引用 eve::procgen::Procgen::filterHeightHandle().

◆ filterPointIntAttribute()

PointSet eve::procgen::filterPointIntAttribute ( const PointSet &  input,
const std::string &  name,
std::int64_t  minValue,
std::int64_t  maxValue,
bool  invert 
)

Select points whose named int attribute lies in an inclusive range.

在文件 PointSetAttributeOps.cpp 第 317 行定义.

引用了 eve::procgen::PointSet::attributes(), eve::procgen::AttributeTable::getInt(), index, input, name, output, size , 以及 value.

◆ filterPointsByPolygon()

PointSet eve::procgen::filterPointsByPolygon ( const PointSet &  input,
const PointSet &  polygon,
bool  invert 
)

Filter points by polygon.

在文件 PointSet.cpp 第 638 行定义.

引用了 appendPointRow(), index, input, inside, output, point, eve::procgen::PointSet::points() , 以及 size.

被这些函数引用 eve::procgen::Procgen::filterPolygonHandle().

◆ filterPointsBySplineDistance()

PointSet eve::procgen::filterPointsBySplineDistance ( const PointSet &  input,
const PointSet &  controlPoints,
float  minDistance,
float  maxDistance 
)

Filter points by spline distance.

在文件 PointSet.cpp 第 649 行定义.

引用了 appendPointRow(), index, input, output, point, eve::procgen::PointSet::points() , 以及 size.

被这些函数引用 eve::procgen::Procgen::filterSplineDistanceHandle().

◆ filterPointSlope()

PointSet eve::procgen::filterPointSlope ( const PointSet &  input,
float  minDegrees,
float  maxDegrees 
)

Filter point slope.

在文件 PointSet.cpp 第 621 行定义.

引用了 appendPointRow(), index, input, length, output, point, eve::procgen::PointSet::points(), size , 以及 up.

被这些函数引用 eve::procgen::Procgen::filterSlopeHandle().

◆ filterPointStringAttribute()

EVENGINE_API_DOMAINS PointSet eve::procgen::filterPointStringAttribute ( const PointSet &  input,
const std::string &  name,
const std::string &  value,
bool  invert 
)

Select points whose named string attribute equals a value.

在文件 PointSet.cpp 第 1047 行定义.

引用了 appendPointRow(), eve::procgen::PointSet::attributes(), found, eve::procgen::AttributeTable::getString(), index, input, name, output, size , 以及 value.

被这些函数引用 eve::procgen::Procgen::filterStringAttributeHandle().

◆ filterTerrainHeightmapNeighborhood()

EVENGINE_API_DOMAINS Result< int > eve::procgen::filterTerrainHeightmapNeighborhood ( Heightmap &  target,
const Heightmap &  source,
int  radius,
TerrainHeightmapNeighborhood  mode 
)

Apply Pcg HeightMap.DeNoise, GrowEdges, or ShrinkEdges in source traversal order.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input copied before mutation.
radiusNonnegative square-neighborhood radius; DeNoise requires at least one.
modeClamp outliers, grow toward neighbor maximum, or shrink toward neighbor minimum.
返回
Changed samples or InvalidArgument; failure preserves target.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access; no callbacks or retained references. The candidate is intentionally updated in X-major/Y-minor order, so later samples observe earlier writes.

在文件 TerrainDerivedMap.cpp 第 123 行定义.

引用了 at, DeNoise, dx, dy, GrowEdges, height, eve::procgen::raster_detail::invalid(), maximum, minimum, nx, ny, output, eve::procgen::raster_detail::publish(), radius, ShrinkEdges, source, target, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 y.

◆ findCaveVerticalSpan()

EVENGINE_API_DOMAINS std::optional< CaveVerticalSpan > eve::procgen::findCaveVerticalSpan ( const std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
float  x,
float  z,
float  preferredY 
)

Finds the first connected cave-air interval intersected by a vertical ray.

参数
densityFinal pre-deposition signed density; negative values are cave air.
nxDensity resolution on X.
nyDensity resolution on Y.
nzDensity resolution on Z.
xNormalized field-space X coordinate in [-1, 1].
zNormalized field-space Z coordinate in [-1, 1].
preferredYPreferred point inside the requested air interval.
返回
Floor and ceiling zero crossings, or no value when no reliable air interval exists.

在文件 CaveDepositAnchoring.cpp 第 30 行定义.

引用了 a, b, eve::procgen::CaveVerticalSpan::ceiling, eve::procgen::CaveVerticalSpan::floor, nx, ny, nz, eve::procgen::CaveSurfaceAnchor::rockNormal, sampleCaveDensity(), value, x, y , 以及 z.

◆ fingerprintPointSet()

EVENGINE_API_DOMAINS Result< std::uint64_t > eve::procgen::fingerprintPointSet ( const PointSet &  points)

Compute an exact deterministic fingerprint, rejecting missing or duplicate ids.

在文件 PointDelta.cpp 第 140 行定义.

引用了 count, eve::Result< T >::failure(), hash, point, points , 以及 eve::Result< T >::success().

被这些函数引用 applyPointDelta() , 以及 diffPointSets().

◆ flipTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::flipTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source 
)

Transpose a Pcg HeightMap exactly as HeightMap.Flip does.

参数
targetExclusively borrowed destination; it may alias source and is resized to source height by source width.
sourceBorrowed finite source.
返回
Changed samples, counting every sample when dimensions change, or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 416 行定义.

引用了 eve::procgen::Heightmap::data(), eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), input, eve::procgen::raster_detail::invalid(), eve::procgen::Heightmap::setHeight(), size, source, eve::Result< T >::success(), target, eve::procgen::raster_detail::validRaster(), x , 以及 y.

◆ generateBushMesh()

EVENGINE_API_DOMAINS bool eve::procgen::generateBushMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Build a deterministic procedural small bush. Registered as the mesh.bush recipe.

在文件 BushMesh.cpp 第 174 行定义.

引用了 angle, c, center, eve::procgen::MeshBuild::clear(), cy, eve::procgen::MeshBuild::empty(), error, halfW, height, irregularity, ny, params, radius, root, eve::procgen::MeshBuild::setMeta(), sides, tip , 以及 width.

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ generateCableChainRope()

EVENGINE_API_DOMAINS bool eve::procgen::generateCableChainRope ( const std::string &  kind,
const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Procedural tileable cable / chain / rope meshes along +X.

Recipes:

  • mesh.cable — multi-strand twisted steel cable (helical tubes)
  • mesh.chain — interlocking iron links (alternating oval rings)
  • mesh.rope — three-strand twisted hemp rope

Each recipe builds a unit that tiles along X when segments repeats it. Shared knobs: segments, segLength, radius, thickness, scale, uvRepeat, plus kind-specific strand / twist / link parameters.

在文件 CableChainRope.cpp 第 225 行定义.

引用了 eve::procgen::MeshBuild::clear(), eve::procgen::MeshBuild::empty(), error, kind, p, params, eve::procgen::MeshBuild::positions(), radius, eve::procgen::MeshBuild::reserve(), scale, eve::procgen::MeshBuild::setMeta(), strands , 以及 thickness.

被这些函数引用 registerCableChainRopeRecipes().

◆ generateCastleArtifact()

EVENGINE_API_DOMAINS eve::Result< GeneratedArtifact > eve::procgen::generateCastleArtifact ( const Params &  params,
ArtifactId  id 
)

Generate a castle composite containing mesh, collider, ring topology and gate/keep anchors.

参数
paramsDeterministic castle parameters.
idNon-nil identity for the top-level artifact instance.
返回
An owning composite artifact, or a structured generation failure.

在文件 GeneratedArtifact.cpp 第 1588 行定义.

引用了 generateCastleMesh() , 以及 params.

被这些函数引用 generateMeshArtifact().

◆ generateCastleMesh()

EVENGINE_API_DOMAINS bool eve::procgen::generateCastleMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Build a complete, walkable, multi-ring medieval castle.

The recipe creates concentric crenellated walls, corner and interval towers, gatehouses, an elevated central keep, wall walks and physical stair flights. Geometry is deterministic for a given seed.

Important parameters: width/depth, rings, wallHeight, wallThickness, towerRadius, towerSides, towerHeight, towerSpacing, ringInset, ringHeightStep, keepWidth, keepDepth, keepFloors, floorHeight, stairWidth, stepHeight, merlonWidth, gateWidth, courtyardBuildings, detail (0..2), scale. This bool-returning entry point is the compatibility facade used by the mesh recipe registry.

在文件 CastleMesh.cpp 第 104 行定义.

引用了 b, eve::procgen::MeshBuild::clear(), depth, detail, eve::procgen::MeshBuild::empty(), error, f, h, nx, nz, p, eve::procgen::MeshBuild::positions(), eve::procgen::MeshBuild::reserve(), scale, eve::procgen::MeshBuild::setMeta(), sides, spacing, sx, sz, tr, v, width, x, y , 以及 z.

被这些函数引用 generateCastleArtifact() , 以及 registerCastleMeshRecipe().

◆ generateFlowerMesh()

EVENGINE_API_DOMAINS eve::Result< void > eve::procgen::generateFlowerMesh ( const Params &  params,
MeshBuild &  out 
)

Build a small accent flower (stem + radial petals + centre).

Registered as the mesh.flower recipe for grassland / bush scatter. Generation is deterministic from params seed and has no file/resource dependency.

参数
paramsGeneration parameters borrowed for this call only.
outCaller-owned mesh cleared and filled on success.
返回
Success, or a structured Failed diagnostic when the mesh is empty. @thread Safe; the function mutates no shared state beyond out. @reentrancy Does not invoke external callbacks.

在文件 FlowerMesh.cpp 第 135 行定义.

引用了 eve::procgen::MeshBuild::clear(), eve::procgen::MeshBuild::empty(), eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), height, params, pitch, eve::procgen::MeshBuild::setMeta(), sides, eve::Result< T >::success() , 以及 yaw.

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ generateGtsGlobalBlendDistance()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateGtsGlobalBlendDistance ( Heightmap &  output,
const Heightmap &  heights,
double  cameraX,
double  cameraY,
double  cameraZ,
double  blendDistance,
double  blendRange,
double  originX = 0,
double  originY = 0,
double  originZ = 0,
double  spacingX = 1,
double  spacingZ = 1 
)

Generate GTS camera-distance near/far blend values for a terrain raster.

参数
outputExclusively borrowed matching destination.
heightsBorrowed local terrain heights.
cameraXWorld camera X.
cameraYWorld camera Y.
cameraZWorld camera Z.
blendDistanceNonnegative GTS global blendDistance.
blendRangePositive GTS global blendRange exponent.
originXWorld X of sample (0,0).
originYWorld terrain elevation added to heights.
originZWorld Z of sample (0,0).
spacingXPositive X sample spacing.
spacingZPositive Z sample spacing.
返回
Changed sample count or InvalidArgument; failure leaves output unchanged. @thread Synchronous; no reference survives the call.

在文件 TerrainImageAdapter.cpp 第 304 行定义.

引用了 dx, dy, dz, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), output, spacingX, spacingZ, eve::Result< T >::success(), eve::procgen::raster_detail::validRaster(), value, x , 以及 z.

◆ generateHempRopePbr()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< PbrTextureSet > > eve::procgen::generateHempRopePbr ( const Params &  params)

Full PBR map set for hemp rope (pbr.rope.hemp). @ownership On success the caller exclusively owns the returned set and all maps.

在文件 CableTextures.cpp 第 449 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateHempRopeTexture()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< image::ImageData > > eve::procgen::generateHempRopeTexture ( const Params &  params)

Generate a parameterized hemp-rope fiber albedo (tex.rope.hemp). @ownership On success the caller exclusively owns the returned ImageData.

在文件 CableTextures.cpp 第 414 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateHexPlanetMesh()

bool eve::procgen::generateHexPlanetMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Build the dual of a subdivided icosahedron. The result is a closed planet made of hexagonal cells plus the twelve pentagons required by spherical topology. Params: radius (1), subdivisions (2), tileInset (0.06, in [0, 0.5)).

在文件 MarchingCubes.cpp 第 159 行定义.

引用了 ab, error, f, level, params, phi, radius, v , 以及 vertices.

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ generateHexSphere()

EVENGINE_API_DOMAINS eve::Result< eve::Value > eve::procgen::generateHexSphere ( const Params &  params)

Bake a spherical hex map into the script Value hexmap applies.

参数
paramsSeed plus subdivision, radius and sphere generator keys.
返回
Object with kind="hex.sphere", topology, seed and packed cells.

在文件 HexMapTerrain.cpp 第 155 行定义.

引用了 eve::Result< T >::failure(), eve::hexmap::generateSphereMap(), eve::hexmap::hexTerrainBakeToValue(), params, radius, eve::hexmap::HexSphereMap::reset(), eve::hexmap::snapshotHexSphereTerrain() , 以及 eve::Result< T >::success().

◆ generateHexTerrain()

EVENGINE_API_DOMAINS eve::Result< eve::Value > eve::procgen::generateHexTerrain ( const Params &  params)

Bake a planar hex map into the script Value hexmap applies.

参数
paramsSeed, width/height (multiples of the 5×5 chunk size) and HexMapGeneratorSettings keys.
返回
Object with kind="hex.terrain", dimensions, seed and packed cells.

在文件 HexMapTerrain.cpp 第 146 行定义.

引用了 eve::Result< T >::failure(), eve::hexmap::generateHexMap(), eve::hexmap::hexTerrainBakeToValue(), params, eve::hexmap::HexMap::reset(), eve::hexmap::snapshotHexTerrain() , 以及 eve::Result< T >::success().

◆ generateHexTerrainArtifact()

EVENGINE_API_DOMAINS eve::Result< GeneratedArtifact > eve::procgen::generateHexTerrainArtifact ( const Params &  params,
ArtifactId  id 
)

Generate a hex-terrain composite containing mesh, collider, topology and world anchors.

参数
paramsDeterministic hex-terrain parameters.
idNon-nil identity for the top-level artifact instance.
返回
An owning composite artifact, or a structured generation failure.

在文件 GeneratedArtifact.cpp 第 1583 行定义.

引用了 generateHexTerrainMesh() , 以及 params.

被这些函数引用 generateMeshArtifact().

◆ generateHexTerrainMesh()

EVENGINE_API_DOMAINS bool eve::procgen::generateHexTerrainMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Build a deterministic, flat-top hexagonal continent mesh.

The generator derives elevation, temperature, moisture, drainage and biome from the seed, including river confluences and elevated basin lakes. UV.x stores the primary biome id plus a fractional transition weight; UV.y stores the secondary biome id plus river coverage. This compact encoding keeps the mesh compatible with the engine's existing MeshVertex. The output metadata includes cells.<biome>, cells.river, cells.lake and edges.cliff counts for validation and tooling.

参数
paramswidth, height, radius, seed, seaLevel, heightScale and riverCount.
outDestination CPU mesh.
errorFailure description.
返回
True when a non-empty mesh was generated.
注解
Compatibility facade used by the mesh recipe registry; new APIs should return Result.

在文件 HexTerrain.cpp 第 375 行定义.

引用了 a, angle, biome, c, cells, eve::procgen::MeshBuild::clear(), count, current, cx, d, edge, elevation, eve::procgen::MeshBuild::empty(), error, Forest, h, hash, height, idx, n, nx, ny, Ocean, params, q, r, radius, Rainforest, eve::procgen::MeshBuild::reserve(), river, River, scale, score, seed, eve::procgen::MeshBuild::setMeta(), source, step, width , 以及 y.

被这些函数引用 generateHexTerrainArtifact() , 以及 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ generateIronChainPbr()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< PbrTextureSet > > eve::procgen::generateIronChainPbr ( const Params &  params)

Full PBR map set for iron chain metal (pbr.chain.iron). @ownership On success the caller exclusively owns the returned set and all maps.

在文件 CableTextures.cpp 第 437 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateIronChainTexture()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< image::ImageData > > eve::procgen::generateIronChainTexture ( const Params &  params)

Generate a parameterized iron / rusted metal albedo (tex.chain.iron). @ownership On success the caller exclusively owns the returned ImageData.

在文件 CableTextures.cpp 第 403 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateLinearStructure()

EVENGINE_API_DOMAINS bool eve::procgen::generateLinearStructure ( const std::string &  kind,
const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Procedural linear, tileable structures (fences, walls, bridges, the Great Wall, hedges, cheval de frise, ...). Each recipe builds one tileable unit segment from axis-aligned boxes and oriented beams, then repeats it segments times along the X axis so units join seamlessly end-to-end.

Shared params:

  • segments: int, repeat count along X (default 6)
  • segLength: float, length of one unit in world units (default 1.0)
  • height: float, overall height override (per-kind default)
  • depth: float, thickness along Z override (per-kind default)
  • thickness: float, plank / rail / beam thickness override (per-kind default)
  • scale: float, uniform world scale (default 1.0)
  • uvRepeat: float, texture repeats per world unit so grain/brick tiling stays continuous across unit seams (default 2.0) This bool-returning entry point is the compatibility facade used by the mesh recipe registry.

在文件 LinearStructure.cpp 第 223 行定义.

引用了 eve::procgen::MeshBuild::clear(), eve::procgen::MeshBuild::empty(), error, kind, p, params, eve::procgen::MeshBuild::positions(), eve::procgen::MeshBuild::reserve(), scale , 以及 eve::procgen::MeshBuild::setMeta().

被这些函数引用 registerLinearStructureRecipes().

◆ generateLSystemMesh()

◆ generateMarchingCubesMesh()

bool eve::procgen::generateMarchingCubesMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

◆ generateMeshArtifact()

EVENGINE_API_DOMAINS eve::Result< GeneratedArtifact > eve::procgen::generateMeshArtifact ( std::string_view  recipeId,
const Params &  params,
ArtifactId  id 
)

Generate any registered mesh recipe as a CPU artifact.

参数
recipeIdRegistered mesh recipe id.
paramsDeterministic recipe parameters.
idNon-nil artifact instance identity.
返回
Hex terrain, castle and road network become composites; other recipes become MeshData artifacts.

在文件 GeneratedArtifact.cpp 第 1593 行定义.

引用了 bounds, error, eve::Failed, eve::procgen::BuildKey::forRecipe(), generateCastleArtifact(), generateHexTerrainArtifact(), generateRoadNetworkArtifact(), eve::procgen::MeshRecipeRegistry::instance(), eve::InvalidArgument, key, makeArtifact(), mesh, MeshData, params , 以及 eve::procgen::MeshRecipeRegistry::registerBuiltins().

被这些函数引用 eve::procgen::Procgen::buildArtifact().

◆ generatePbrSet()

std::unique_ptr< PbrTextureSet > eve::procgen::generatePbrSet ( const TextureRecipeDef &  def,
const Params &  params,
std::string &  error 
)

◆ generatePrototypePiece()

EVENGINE_API_DOMAINS eve::Result< MeshBuild > eve::procgen::generatePrototypePiece ( std::string_view  pieceId,
const Params &  params 
)

Build one prototype module as an owning CPU triangle mesh.

All pieces use a centered XZ footprint, a ground-level Y origin, and stable named triangle groups. Common parameters are scale, width, height, depth, thickness, detail, steps, and uvScale (texture tiles per world unit); omitted dimensions use the descriptor defaults. Generation is deterministic and has no file/resource dependency.

参数
pieceIdStable id from prototypePieceDescriptors().
paramsOwning generation parameters borrowed for this call only.
返回
Generated mesh or a structured InvalidArgument/NotFound diagnostic. @thread Safe; the function mutates no shared state. @reentrancy Does not invoke external callbacks.

在文件 PrototypeKit.cpp 第 291 行定义.

引用了 eve::Applied, context, eve::procgen::PrototypePieceDescriptor::defaultDepth, eve::procgen::PrototypePieceDescriptor::defaultHeight, eve::procgen::PrototypePieceDescriptor::defaultWidth, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::InvalidArgument, eve::NotFound, params, scale, eve::Status::success(), eve::Result< T >::success() , 以及 uv.

被这些函数引用 registerPrototypePieceRecipes().

◆ generatePrototypeTexture()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< image::ImageData > > eve::procgen::generatePrototypeTexture ( std::string_view  patternId,
const Params &  params 
)

Generate a parameterized RGBA8 prototype texture without loading an image asset. @ownership On success the caller exclusively owns the returned ImageData. @lifetime The returned image remains valid until the caller releases it; params are borrowed only for this call.

Parameters include the dedicated Params width/height, palette (dark, light, purple, orange, green, red, custom), cellSize, lineWidth, minorAlpha, majorAlpha, and custom background and line RGB channels. Every pattern is deterministic and tile-safe where its guide geometry permits.

参数
patternIdStable id from prototypeTextureDescriptors().
paramsOwning parameters borrowed for this synchronous call.
返回
Uniquely owned image or a structured diagnostic. @thread Safe; no shared state is mutated. @reentrancy Does not invoke external callbacks.

在文件 PrototypeTextures.cpp 第 244 行定义.

引用了 eve::Applied, eve::Diagnostic::error(), eve::Failed, height, image, eve::InvalidArgument, eve::NotFound, palette, params, pixels, eve::Status::success() , 以及 width.

被这些函数引用 registerPrototypeTextureRecipes().

◆ generateRoadNetworkArtifact()

◆ generateRockMesh()

bool eve::procgen::generateRockMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

◆ generateSkyscraperMesh()

bool eve::procgen::generateSkyscraperMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

Build a deterministic procedural skyscraper. Registered as the mesh.skyscraper recipe.

The tower is a stack of setback tiers, each a solid box whose footprint shrinks as it rises. Every facade is a subdivided window grid: each cell emits a small window quad raised slightly in front of the wall plane (a thin windowDepth lip), so openings read under directional lighting without coplanar z-fighting. An optional spire / antenna cap finishes the roof.

Parameters (all optional): seed reproducible RNG (default 1) baseWidth footprint extent along X (default 10) baseDepth footprint extent along Z (default 10) tiers number of setback levels (default 5, range [1, 24]) tierHeight height of one tier (default 6) setback per-tier footprint shrink fraction (default 0.08, range [0, 0.6)) windowCols window columns per facade (default 6, range [1, 24]) windowRows window rows per tier (default 4, range [1, 24]) windowDepth window lip height above the wall (default 0.04) spireHeight antenna / spire height (default 0, disabled)

UV convention: wall quads sample the lower-left texel region (0.25, 0.5), window quads the upper-right texel region (0.75, 0.5), so a tiny 2x2 atlas can tint openings bright vs walls dark, or a full facade texture can be used with the same mapping per-cell.

在文件 SkyscraperMesh.cpp 第 102 行定义.

引用了 eve::procgen::MeshBuild::clear(), cx, eve::procgen::MeshBuild::empty(), error, params, s, eve::procgen::MeshBuild::setMeta() , 以及 t.

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ generateSteelCablePbr()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< PbrTextureSet > > eve::procgen::generateSteelCablePbr ( const Params &  params)

Full PBR map set for steel cable (pbr.cable.steel). @ownership On success the caller exclusively owns the returned set and all maps.

在文件 CableTextures.cpp 第 425 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateSteelCableTexture()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< image::ImageData > > eve::procgen::generateSteelCableTexture ( const Params &  params)

Generate a parameterized steel-cable braid albedo (tex.cable.steel). @ownership On success the caller exclusively owns the returned ImageData.

在文件 CableTextures.cpp 第 392 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateTerrainConcavityMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainConcavityMask ( Heightmap &  target,
const Heightmap &  input,
const Heightmap &  heights,
const Heightmap &  curve,
const TerrainConcavitySettings &  settings,
TerrainMaskBlend  mode 
)

Generate source normalized-gradient concavity with border attenuation and indexed curve lookup.

参数
targetExclusively borrowed finite destination, same size as input; input aliases permitted.
inputBorrowed finite base mask.
heightsBorrowed finite height raster, mapped by heightWidth/inputWidth on both axes.
curveBorrowed finite nonempty one-row curve, read at floor(clampedValue*(width-1)).
settingsPositive finite featureSize representable as uint32, and finite signed concavity.
modeMultiply, maximum, minimum, add or subtract; no hidden strength/inversion.
返回
Changed count or InvalidArgument, atomically. Mapped coordinates must fit uint32.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access, immutable snapshots, no callbacks or retained references. Source unsigned neighbor arithmetic and inclusive width/height upper clamps are retained; out-of-range integer samples and zero-length normalized gradients explicitly return zero. Integer neighbor offset truncates featureSize; border attenuation uses its untruncated value.

在文件 TerrainMask.cpp 第 73 行定义.

引用了 Add, border, curve, d, dx, dz, filter, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), height, eve::procgen::Heightmap::height(), input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), length, Maximum, Minimum, Multiply, offset, output, eve::procgen::raster_detail::publish(), r, s, eve::procgen::raster_detail::sample(), Subtract, target, u, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 z.

◆ generateTerrainCurvatureMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainCurvatureMask ( Heightmap &  target,
const Heightmap &  input,
const Heightmap &  heights,
const Heightmap &  curve,
const TerrainCurvatureSettings &  settings,
TerrainMaskBlend  mode 
)

Radially blur heights, derive source curvature, transform its curve and combine with an input mask.

参数
targetExclusively borrowed finite destination, same dimensions as input; may alias any input.
inputBorrowed finite mask.
heightsBorrowed finite height texture; independent resolution, Clamp/Bilinear sampling.
curveBorrowed finite nonempty one-row strength curve.
settingsFinite nonnegative radius, signed worldUnits, positive intensity and sample counts; steps*directions must be less than INT_MAX. Negative bases with fractional intensity are rejected.
modeSource pass order. Minimum uses curveValue < 1-input, not ordinary min.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access, immutable snapshots, no callbacks or retained references. Curvature=clamp(abs(pow((height-blur)*worldUnits,intensity)),0,1), then curve and mode. No strength or inversion is applied by this shader. Integer-indexed radial sampling defines counts explicitly instead of reproducing GPU floating-loop drift; no GPU bit parity claim.

在文件 TerrainMask.cpp 第 147 行定义.

引用了 Add, angle, curve, eve::procgen::raster_detail::curveSample(), direction, filter, eve::procgen::Heightmap::getHeight(), input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Maximum, Minimum, Multiply, origin, output, previous, eve::procgen::raster_detail::publish(), radius, s, step, Subtract, target, eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), x , 以及 z.

◆ generateTerrainDistanceMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainDistanceMask ( Heightmap &  target,
const TerrainDistanceMaskSettings &  settings,
const Heightmap &  filterCurve,
const Heightmap &  strengthCurve 
)

Generate a transformed distance mask using circle, X, Z or rounded-square coordinates.

参数
targetBorrowed destination; UVs are output pixel centers. Inputs may alias target.
settingsFinite UV transform with nonzero scales and strictly positive roundness.
filterCurveBorrowed one-row Clamp/Bilinear distance curve.
strengthCurveBorrowed one-row Clamp/Bilinear strength curve.
返回
Changed sample count or InvalidArgument, atomically. Rounded-square samples outside [0,1]^2 use filter value zero before strength transformation; other modes clamp curve lookups. Repeated UV coordinates wrap, including negative coordinates.
异常
std::bad_allocTarget remains unchanged. @thread Exclusive target, immutable input snapshots; synchronous, no callbacks/RNG/time.

在文件 TerrainMask.cpp 第 351 行定义.

引用了 c, Circle, eve::procgen::raster_detail::curveSample(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::publish(), px, pz, RoundedSquare, s, target, u, v, eve::procgen::raster_detail::validRaster(), value, x, X, y , 以及 Z.

◆ generateTerrainErosionMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainErosionMask ( Heightmap &  target,
const Heightmap &  oldHeights,
const Heightmap &  erosion,
const Heightmap &  brush,
const TerrainBrushBlendSettings &  spatial,
const Heightmap &  curve,
TerrainStrengthMode  mode,
float  strength,
bool  userInvert 
)

Compose spatial erosion-output blending and the source's inverted strength filter atomically.

参数
targetExclusively borrowed destination; aliases with inputs permitted.
oldHeightsBorrowed old terrain scalar texture.
erosionBorrowed already-computed sediment, right flux or X velocity scalar texture.
brushBorrowed input mask used as spatial blend weight.
spatialExplicit PaintContext mappings and brush strength.
curveBorrowed one-row strength curve.
modeStrengthTransform pass, with Replace corresponding to source Multiply.
strengthFinal filter weight in [0,1].
userInvertUser-facing inversion; the source filter receives its negation.
返回
Changed count or InvalidArgument; both stages publish once, failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access and immutable borrowed inputs; no callbacks or retained references. Simulation is supplied separately; this operation does not advance or mutate a water field.

在文件 TerrainMask.cpp 第 192 行定义.

引用了 applyTerrainStrength(), blendTerrainBrush(), curve, eve::procgen::Heightmap::data(), eve::procgen::raster_detail::publish(), spatial, strength , 以及 target.

◆ generateTerrainHeightmapAspect()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainHeightmapAspect ( Heightmap &  target,
const Heightmap &  source,
TerrainHeightmapAspect  mode 
)

Derive Pcg HeightMap.Aspect's aspect, northerness, or easterness raster.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite raster with both dimensions at least two.
modeFull normalized aspect, northerness, or easterness.
返回
Changed samples or InvalidArgument; failure preserves target.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access; no callbacks or retained references.

在文件 TerrainDerivedMap.cpp 第 94 行定义.

引用了 angle, at, dx, dy, Easterness, height, input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Northerness, output, eve::procgen::raster_detail::publish(), source, target, width, x , 以及 y.

◆ generateTerrainHeightmapCurvature()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainHeightmapCurvature ( Heightmap &  target,
const Heightmap &  source,
TerrainHeightmapCurvature  mode 
)

Derive Pcg HeightMap.CurvatureMap's normalized differential curvature.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite raster with both dimensions at least two.
modeAverage, horizontal or vertical curvature.
返回
Changed samples or InvalidArgument; failure preserves target.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access; no callbacks or retained references.

在文件 TerrainDerivedMap.cpp 第 55 行定义.

引用了 at, Average, bottom, dx, dy, height, Horizontal, input, eve::procgen::raster_detail::invalid(), left, limit, output, eve::procgen::raster_detail::publish(), right, source, target, top, value, Vertical, width, x , 以及 y.

◆ generateTerrainHeightmapSlope()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainHeightmapSlope ( Heightmap &  target,
const Heightmap &  source 
)

Generate Pcg HeightMap.SlopeMap's normalized gradient magnitude.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite raster with both dimensions at least two.
返回
Changed samples or InvalidArgument; failure preserves target. @thread Synchronous caller-owned access; no retained references.

在文件 TerrainDerivedMap.cpp 第 237 行定义.

引用了 at, dx, dy, height, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, eve::procgen::raster_detail::publish(), source, target, eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

◆ generateTerrainImageMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainImageMask ( Heightmap &  target,
const Heightmap &  input,
const Heightmap &  red,
const Heightmap &  green,
const Heightmap &  blue,
const Heightmap &  alpha,
const Heightmap &  curve,
const TerrainImageMaskSettings &  settings,
TerrainMaskBlend  mode 
)

Generate the reference image-mask filter from borrowed RGBA scalar planes.

参数
targetExclusively borrowed finite output, same dimensions as input; aliases allowed.
inputBorrowed finite base mask.
redBorrowed finite red plane; all four color planes must share dimensions.
greenBorrowed finite green plane.
blueBorrowed finite blue plane.
alphaBorrowed finite alpha plane; colors are supplied explicitly without hidden color-space conversion.
curveBorrowed finite nonempty one-row strength curve.
settingsFinite UV/color settings, nonzero scales and accuracy in [0,1].
modeMultiply, maximum, minimum, add or subtract after curve lookup.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive output access, immutable snapshots, no callbacks or retained references. Samples texture centers, wraps with source negative-integer convention when tiling, and returns filter zero outside the footprint BEFORE curve lookup. ColorSelection uses the source sRGB-to-Lab/CIE76 equations and strict threshold; accuracy=1 rejects even exact matches. No implicit strength or inversion is applied. Image decoding and GPU resources remain caller-owned.

在文件 TerrainImageMask.cpp 第 20 行定义.

引用了 a, Add, Alpha, b, Blue, color, ColorSelection, curve, eve::procgen::raster_detail::curveSample(), filter, g, eve::procgen::Heightmap::getHeight(), Green, input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Maximum, MaximumRgb, Minimum, Multiply, output, eve::procgen::raster_detail::publish(), px, pz, q, r, Red, s, Subtract, target, eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), x , 以及 z.

被这些函数引用 applyTerrainGlobalSpawnerMask() , 以及 generateTerrainImageMaskFromImage().

◆ generateTerrainImageMaskFromImage()

Result< int > eve::procgen::generateTerrainImageMaskFromImage ( Heightmap &  target,
const Heightmap &  input,
const image::ImageData &  image,
const Heightmap &  curve,
const TerrainImageMaskSettings &  settings,
TerrainMaskBlend  mode 
)

Read a borrowed ImageData into scalar RGBA planes and apply the image-mask kernel atomically.

参数
targetExclusively borrowed destination, same shape as input; may alias input or curve.
inputBorrowed base mask.
imageBorrowed decoded image with readable pixel format and complete storage.
curveBorrowed one-row strength curve.
settingsNative image filter and UV controls.
modeMask combination mode.
返回
Changed count or InvalidArgument; invalid storage, pixels or settings leave target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous; caller holds exclusive target access and prevents concurrent image/input mutation. No image reference, raw pixel pointer, callback or GPU resource is retained. Pixel values use ImageData's format conversion only; no extra gamma conversion or implicit vertical flip occurs.

在文件 TerrainImageAdapter.cpp 第 716 行定义.

引用了 color, curve, eve::procgen::Heightmap::data(), generateTerrainImageMask(), eve::procgen::Heightmap::getHeight(), height, image, input, eve::procgen::raster_detail::invalid(), pixelSize, settings, target, eve::procgen::raster_detail::validRaster(), width, x , 以及 z.

◆ generateTerrainNoiseMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainNoiseMask ( Heightmap &  target,
const Heightmap &  input,
const Heightmap &  curve,
const TerrainNoiseMaskSettings &  settings,
TerrainMaskBlend  mode 
)

Generate a transformed Pcg-style fBm noise source, curve it, then combine it with an input mask.

参数
targetExclusively borrowed finite destination matching input; aliases are permitted.
inputBorrowed current mask stack value.
curveBorrowed finite nonempty one-row strength curve.
settingsFinite transform/fractal controls; scale nonzero, octaves/warpIterations in [0,16].
modeMultiply, maximum, minimum, add or subtract.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; seed is explicit and no state, callback, time or RNG is retained. Rotation is radians in the X/Z plane. Fractional octave and warp counts interpolate the final step.

在文件 TerrainNoiseMask.cpp 第 51 行定义.

引用了 Add, curve, eve::procgen::raster_detail::curveSample(), eve::procgen::Heightmap::getHeight(), index, input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), Maximum, Minimum, Multiply, output, Perlin, eve::procgen::raster_detail::publish(), px, pz, qx, qz, s, Subtract, target, eve::editing::Value::type(), eve::procgen::raster_detail::validRaster(), value, Voronoi, weight, x , 以及 z.

◆ generateTerrainRangeMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainRangeMask ( Heightmap &  target,
const Heightmap &  source,
float  minimum,
float  maximum,
const Heightmap &  filterCurve,
const Heightmap &  strengthCurve 
)

Generate height/range fitness with smoothstep followed by filter and strength curves.

参数
targetBorrowed destination, same dimensions as source; may alias inputs.
sourceBorrowed scalar raster in caller-defined units (world height or normalized slope).
minimumFinite lower range edge.
maximumFinite upper edge, strictly greater than minimum.
filterCurveBorrowed one-row Clamp/Bilinear texture, sampled at smoothstep(minimum,maximum,source).
strengthCurveBorrowed one-row Clamp/Bilinear texture, sampled at filterCurve output.
返回
Changed sample count or InvalidArgument, atomically; no output clamping after curves.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; no retained borrows, RNG, time or callbacks.

在文件 TerrainMask.cpp 第 313 行定义.

引用了 eve::procgen::raster_detail::curveSample(), eve::procgen::raster_detail::invalid(), maximum, minimum, eve::procgen::raster_detail::publish(), source, t , 以及 target.

◆ generateTerrainVelocityFlowMap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainVelocityFlowMap ( Heightmap &  target,
const Heightmap &  source,
int  iterations 
)

Generate Pcg HeightMap.FlowMap's normalized four-direction velocity magnitude.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite terrain heights, copied before computation and never retained.
iterationsNonnegative count of fixed TIME=0.2 flow steps.
返回
Changed output samples or InvalidArgument; failure preserves target.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access; deterministic with no RNG, callbacks, or implicit time.

在文件 TerrainWaterField.cpp 第 77 行定义.

引用了 bottom, direction, height, index, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), iterations, left, maximum, minimum, output, eve::procgen::raster_detail::publish(), range, right, scale, source, target, terrain, time, top, eve::procgen::raster_detail::validRaster(), value, vx, vy, water, width, x , 以及 y.

◆ generateTerrainWaterFlowMap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::generateTerrainWaterFlowMap ( Heightmap &  target,
const Heightmap &  source,
const TerrainWaterFlowMapSettings &  settings 
)

Generate Pcg's legacy transposed water-flow accumulation map.

参数
targetExclusively borrowed output sized source-height by source-width; aliases are rejected.
sourceBorrowed finite terrain heights, copied because pooling raises a private working terrain.
settingsFinite nonnegative volume, positive absorption and nonnegative smoothing iterations.
返回
Changed output sample count or InvalidArgument; failure preserves target.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access; no callbacks, RNG, retained references, or implicit time. Each interior source sample traces one droplet. Strict-lower neighbor selection uses X-major then Z-major order, a pooled step raises only the private terrain, the last step deposits the full absorption amount, and smoothing is the source's order-dependent in-place clamped four-neighbor pass.

在文件 TerrainWaterField.cpp 第 8 行定义.

引用了 index, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), nx, nz, output, eve::procgen::raster_detail::publish(), settings, source, target, eve::procgen::raster_detail::validRaster(), volume, x , 以及 z.

◆ generateTileFloorPbr()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< PbrTextureSet > > eve::procgen::generateTileFloorPbr ( const Params &  params)

Generate a full PBR map set for ceramic / patterned tiles (pbr.floor.tile). @ownership On success the caller exclusively owns the returned set and all maps.

在文件 FloorTextures.cpp 第 1214 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed, glaze , 以及 params.

◆ generateTileFloorTexture()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< image::ImageData > > eve::procgen::generateTileFloorTexture ( const Params &  params)

Generate a parameterized ceramic / patterned floor-tile albedo (tex.floor.tile). @ownership On success the caller exclusively owns the returned ImageData.

在文件 FloorTextures.cpp 第 1191 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateTreeMesh()

bool eve::procgen::generateTreeMesh ( const Params &  params,
MeshBuild &  out,
std::string &  error 
)

◆ generateWoodFloorPbr()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< PbrTextureSet > > eve::procgen::generateWoodFloorPbr ( const Params &  params)

Generate a full PBR map set for wood floors (pbr.floor.wood). @ownership On success the caller exclusively owns the returned set and all maps.

在文件 FloorTextures.cpp 第 1202 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ generateWoodFloorTexture()

EVENGINE_API_DOMAINS eve::Result< std::unique_ptr< image::ImageData > > eve::procgen::generateWoodFloorTexture ( const Params &  params)

Generate a parameterized wood-floor albedo (tex.floor.wood). @ownership On success the caller exclusively owns the returned ImageData.

在文件 FloorTextures.cpp 第 1180 行定义.

引用了 error, eve::Diagnostic::error(), eve::Failed , 以及 params.

◆ grayscaleImage()

std::unique_ptr< image::ImageData > eve::procgen::grayscaleImage ( const std::vector< float > &  values,
int  w,
int  h 
)

Builds a grayscale RGBA8 image and returns unique ownership to the caller.

在文件 PbrMaterial.cpp 第 100 行定义.

引用了 h, pixels, v, values , 以及 w.

被这些函数引用 generatePbrSet().

◆ gridToJson()

EVENGINE_API_DOMAINS std::string eve::procgen::gridToJson ( const Grid2D &  grid)

Compact JSON for debugging / reload workflows (not full Tiled).

在文件 JsonExport.cpp 第 29 行定义.

引用了 cells , 以及 semanticName().

被这些函数引用 eve::procgen::Procgen::gridToJson(), writeGridJson() , 以及 eve::procgen::Procgen::~Procgen().

◆ growShrinkTerrainMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::growShrinkTerrainMask ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  curve,
float  distance 
)

Ordered radial Grow/Shrink followed by the reference strength curve.

参数
targetExclusively borrowed finite destination, same size as source; aliases allowed.
sourceBorrowed finite mask sampled with Clamp/Bilinear texture-center coordinates.
curveBorrowed finite nonempty one-row strength lookup, applied even at zero distance.
distanceSigned UV radius (world distance divided by operation range); positive grows. Twice the absolute radius times source width must fit int for indexed sampling.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access, immutable snapshots, no callbacks or retained references. X is the outer loop, Z the inner; both step by 1/sourceWidth. Each candidate blends toward the current accumulator using radial smoothstep before max/min selection. Integer-indexed double offsets resolve shader float-loop drift explicitly; no GPU bit parity claim.

在文件 TerrainMask.cpp 第 203 行定义.

引用了 curve, eve::procgen::raster_detail::curveSample(), distance, dx, dz, eve::procgen::Heightmap::getHeight(), height, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, eve::procgen::raster_detail::publish(), radius, source, target, eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), value, weight, width, x , 以及 z.

◆ heightToNormalImage()

std::unique_ptr< image::ImageData > eve::procgen::heightToNormalImage ( const std::vector< float > &  height,
int  w,
int  h,
float  strength,
bool  seamless 
)

Builds a normal-map image and transfers its unique ownership to the caller.

返回
The newly owned image, or null only when allocation fails.

在文件 TextureRecipe.cpp 第 148 行定义.

引用了 dx, dy, h, height, nx, ny, nz, pixels, eve::procgen::raster_detail::sample(), seamless, strength, w, x , 以及 y.

被这些函数引用 eve::procgen::Procgen::generateNormalImageHandle() , 以及 generatePbrSet().

◆ intersectPointSets()

EVENGINE_API_DOMAINS PointSet eve::procgen::intersectPointSets ( const PointSet &  first,
const PointSet &  second 
)

Keep first-set points whose stable or legacy identity occurs in the second set.

在文件 PointSet.cpp 第 864 行定义.

引用了 appendPointRow(), first, index, point, eve::procgen::PointSet::reserve() , 以及 second.

被这些函数引用 eve::procgen::Procgen::intersectPointsHandle().

◆ isCaveBreakdownBlockSurface()

EVENGINE_API_DOMAINS bool eve::procgen::isCaveBreakdownBlockSurface ( float  x,
float  y,
float  z,
float  tolerance,
const CaveBreakdownSet &  breakdown 
)

Test whether a point lies on a generated breakdown block surface.

在文件 CaveBreakdown.cpp 第 97 行定义.

引用了 eve::procgen::CaveBreakdownSet::events, x, y , 以及 z.

◆ isCaveSedimentSurface()

EVENGINE_API_DOMAINS bool eve::procgen::isCaveSedimentSurface ( float  x,
float  y,
float  z,
float  tolerance,
const CaveSedimentSet &  sediment 
)

Test whether a point lies on a generated sediment surface.

在文件 CaveSediment.cpp 第 179 行定义.

引用了 sediment, x, y , 以及 z.

◆ isPointFloatChannel()

bool eve::procgen::isPointFloatChannel ( std::string_view  name)
noexcept

Return whether name is a valid float channel (builtin selector or metadata name).

在文件 PointSetAttributeOps.cpp 第 78 行定义.

引用了 isPointFloatSelector() , 以及 name.

被这些函数引用 comparePointFloatAttribute(), copyPointAttribute(), selectPointFloatAttribute() , 以及 transferPointAttribute().

◆ isPointFloatSelector()

bool eve::procgen::isPointFloatSelector ( std::string_view  name)
noexcept

True when point float selector.

在文件 PointSetAttributeOps.cpp 第 62 行定义.

引用了 name.

被这些函数引用 copyPointAttribute(), isPointFloatChannel(), readPointFloatChannel(), transferPointAttribute() , 以及 writePointFloatChannel().

◆ jitterPointPositions()

EVENGINE_API_DOMAINS PointSet eve::procgen::jitterPointPositions ( const PointSet &  input,
uint32_t  seed,
float  amountX,
float  amountZ 
)

Jitter point positions.

在文件 PointSet.cpp 第 724 行定义.

引用了 input, output, point, seed , 以及 size.

被这些函数引用 eve::procgen::Procgen::jitterPointsHandle().

◆ lerpTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::lerpTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  values,
const Heightmap &  mask 
)

Lerp source toward values under a mask using Pcg's clamped Mathf.Lerp semantics.

参数
targetExclusively borrowed matching output; it may alias any input.
sourceBorrowed finite starting raster matching target.
valuesBorrowed finite destination raster, resampled when dimensions differ.
maskBorrowed finite interpolation mask, resampled when dimensions differ.
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 336 行定义.

引用了 end, height, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, output, eve::procgen::raster_detail::publish(), source, start, target, eve::procgen::raster_detail::validRaster(), values, width, x , 以及 y.

◆ loadTerrainFile()

eve::Result< DecodedTerrainFile > eve::procgen::loadTerrainFile ( const std::string &  path,
TerrainFileFormat  format 
)

Read and decode a terrain height field through the filesystem capability.

参数
pathPath resolved by the active filesystem provider.
formatEncoding selector, or Auto to detect from the magic.
返回
The decoded height field, or a failure diagnostic.

在文件 TerrainFile.cpp 第 196 行定义.

引用了 bytes, decodeTerrainFile(), eve::NotFound, path , 以及 eve::Unsupported.

◆ makeArtifact()

◆ makeArtifactPart()

◆ makeGtsTerrainImpostorLod()

◆ makeGtsTerrainLowPolyLod()

EVENGINE_API_DOMAINS Result< GtsTerrainExportLodSettings > eve::procgen::makeGtsTerrainLowPolyLod ( int  level)

◆ makeTextureRecipeDescriptor()

RecipeDescriptor eve::procgen::makeTextureRecipeDescriptor ( const TextureRecipeDef &  definition)

Build editable metadata for a texture definition.

参数
definitionDefinition to describe.
返回
Recipe metadata.

在文件 TextureRecipe.cpp 第 88 行定义.

引用了 eve::procgen::ParamDescriptor::boolean(), descriptor, eve::procgen::ParamDescriptor::floating(), eve::procgen::RecipeDescriptor::grid() , 以及 eve::procgen::ParamDescriptor::integer().

被这些函数引用 eve::procgen::TextureRecipeRegistry::registerBuiltins() , 以及 eve::procgen::PbrRecipeRegistry::registerPbrBuiltins().

◆ mapMeshSurfacePointToUvResult()

EVENGINE_API_DOMAINS Result< MeshSurfaceUv > eve::procgen::mapMeshSurfacePointToUvResult ( const MeshBuild &  mesh,
int  triangleIndex,
float  x,
float  y,
float  z 
)

Map a surface point on a dynamic-mesh triangle to its interpolated UV.

参数
meshCurrent owning mesh snapshot, borrowed for this synchronous call.
triangleIndexTriangle ordinal, not index-buffer offset.
xPoint X.
yPoint Y.
zPoint Z.
返回
Interpolated UV, including values outside [0,1] when the projection tiles.

在文件 MeshUvProjection.cpp 第 45 行定义.

引用了 a, b, c, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, mesh, point, q, eve::Result< T >::success(), x, y , 以及 z.

被这些函数引用 eve::procgen::DynamicMeshUvPaintSession::paintSurfacePointResult().

◆ mapTerrainOperationMultiTile()

EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > eve::procgen::mapTerrainOperationMultiTile ( const std::vector< TerrainOperationTile > &  tiles,
const TerrainStampSettings &  settings,
TerrainOperationDomain  domain,
bool  worldMapOperation = false,
const std::vector< std::string > &  validTerrainNames = {} 
)

Calculate Pcg-compatible local and shared pixel rectangles for any multi-terrain raster domain.

参数
tilesBorrowed immutable descriptors with unique names, matching resolution/world pixel size and grid-aligned origins.
settingsFinite positive world-space operation bounds; rotation expands the conservative affected rectangle.
domainHeightmap uses a one-pixel shared seam; every other domain advances by its full resolution.
worldMapOperationSelect ordinary or world-map tiles.
validTerrainNamesOptional exact allow-list; empty selects all intersecting tiles in the domain.
返回
Deterministically ordered mappings and the shared operation rectangle, or InvalidArgument. @ownership Retains no descriptor or name. Caller owns inputs for the synchronous call. No callbacks, RNG or hidden time.

在文件 TerrainMultiTile.cpp 第 71 行定义.

引用了 eve::procgen::TerrainMultiTileReport::affectedTiles, BakedMask, c, finite, GameObject, Heightmap, eve::procgen::TerrainMultiTileReport::mappings, name, eve::procgen::TerrainMultiTileReport::operationHeight, eve::procgen::TerrainMultiTileReport::operationWidth, eve::procgen::TerrainMultiTileReport::operationX, eve::procgen::TerrainMultiTileReport::operationY, referenceX, referenceZ, s, seam, settings, spacingX, spacingZ, eve::Result< T >::success(), TerrainDetail, Texture, tiles, Tree , 以及 value.

被这些函数引用 applyTerrainDetailMultiTile(), applyTerrainObjectsMultiTile(), applyTerrainProbesMultiTile(), applyTerrainTreesMultiTile() , 以及 paintTerrainSplatLayerMultiTile().

◆ marchingCubes()

EVENGINE_API_DOMAINS bool eve::procgen::marchingCubes ( const float *  density,
int  nx,
int  ny,
int  nz,
float  isolevel,
MeshBuild &  out,
std::string *  error = nullptr 
)

Classic Marching Cubes (Lorensen & Cline) over a regular scalar volume. Density >= isolevel is treated as solid; normals point toward empty space.

density is row-major: index = x + y * nx + z * nx * ny, size nx*ny*nz. Cell (x,y,z) spans corners [x..x+1]×[y..y+1]×[z..z+1] (so loops are nx-1 etc.).

在文件 MarchingCubes.cpp 第 249 行定义.

引用了 a, eve::procgen::MeshBuild::addTriangle(), eve::procgen::MeshBuild::addVertex(), at, ax, ay, az, b, bx, by, bz, eve::procgen::MeshBuild::clear(), cx, cy, edges, error, eve::procgen::MeshBuild::getVertexCount(), marchingCubes(), nx, ny, nz, px, py, pz, eve::procgen::MeshBuild::reserve(), eve::procgen::MeshBuild::setMeta(), sx, sy, sz, t, x, y , 以及 z.

被这些函数引用 generateMarchingCubesMesh() , 以及 marchingCubes().

◆ mathPointFloatAttribute()

PointSet eve::procgen::mathPointFloatAttribute ( const PointSet &  input,
const std::string &  attribute,
const std::string &  outputAttribute,
const std::string &  operation,
float  operand,
float  defaultValue 
)

Apply one scalar operation to a float metadata attribute or $ selector.

在文件 PointSetAttributeOps.cpp 第 273 行定义.

引用了 defaultValue, eve::Result< void >::expect(), eve::procgen::PointSet::getCount(), index, input, operation, output, readPointFloatChannel(), value , 以及 writePointFloatChannel().

被这些函数引用 eve::procgen::Procgen::mathFloatAttributeHandle().

◆ mathPointIntAttribute()

PointSet eve::procgen::mathPointIntAttribute ( const PointSet &  input,
const std::string &  attribute,
const std::string &  outputAttribute,
const std::string &  operation,
std::int64_t  operand,
std::int64_t  defaultValue 
)

◆ mathPointVectorAttribute()

PointSet eve::procgen::mathPointVectorAttribute ( const PointSet &  input,
const std::string &  attribute,
const std::string &  outputAttribute,
const std::string &  operation,
float  operandX,
float  operandY,
float  operandZ,
float  defaultX,
float  defaultY,
float  defaultZ 
)

◆ measureTerrainHeightmap()

EVENGINE_API_DOMAINS Result< double > eve::procgen::measureTerrainHeightmap ( const Heightmap &  source,
TerrainHeightmapMeasure  measure 
)

Measure Pcg height range, sum, average, or scanner base level from current samples.

参数
sourceBorrowed finite source.
measureRequested measurement.
返回
Scalar measurement or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 434 行定义.

引用了 Average, BaseLevel, eve::Diagnostic::error(), eve::Result< T >::failure(), height, eve::InvalidArgument, level, Maximum, Minimum, source, eve::Result< T >::success(), eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

◆ measureTerrainHeightmapSlope()

EVENGINE_API_DOMAINS Result< double > eve::procgen::measureTerrainHeightmapSlope ( const Heightmap &  source,
float  x,
float  y,
TerrainHeightmapSlopeQuery  mode 
)

Evaluate one of Pcg HeightMap's three point-slope formulas.

参数
sourceBorrowed finite source with both dimensions at least two.
xGrid coordinate for GridForward, normalized coordinate for other modes.
yGrid coordinate for GridForward, normalized coordinate for other modes.
modePoint-slope formula.
返回
Source-formula slope or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 501 行定义.

引用了 center, dx, dy, eve::Diagnostic::error(), eve::Result< T >::failure(), GridForward, eve::InvalidArgument, NormalizedAverage, NormalizedCentral, source, eve::Result< T >::success(), u, v, eve::procgen::raster_detail::validRaster(), x , 以及 y.

◆ mergePointSets()

EVENGINE_API_DOMAINS PointSet eve::procgen::mergePointSets ( const PointSet &  first,
const PointSet &  second 
)

Concatenate two attributed point collections while preserving order.

在文件 PointSet.cpp 第 795 行定义.

引用了 appendPointRow(), first, index, output, eve::procgen::PointSet::reserve(), second , 以及 size.

被这些函数引用 eve::procgen::Procgen::mergePointsHandle().

◆ mergeStaticMeshes()

EVENGINE_API_DOMAINS Result< MeshBuild > eve::procgen::mergeStaticMeshes ( const MeshMergePlan &  plan)

Merge planned static meshes into one owning MeshBuild.

返回
Owning mesh or procgen.mesh.merge.* diagnostic; never partially publishes. @thread Synchronous CPU; inputs borrowed only for the call.

在文件 MeshMerge.cpp 第 221 行定义.

◆ meshAdhereResult()

EVENGINE_API_DOMAINS Result< MeshBuild > eve::procgen::meshAdhereResult ( const MeshBuild &  sourceA,
const MeshBuild &  surfaceB,
const MeshContactBlendParams &  params 
)

One-shot adhere of A onto B (soft snap on) using contact blend.

返回
Owning deformed A, or diagnostic.

在文件 MeshAdhereLive.cpp 第 7 行定义.

引用了 meshContactBlendAgainstSurfaceResult(), params , 以及 eve::procgen::MeshContactBlendParams::softSnapPositions.

◆ meshBooleanResult()

EVENGINE_API_DOMAINS Result< MeshBuild > eve::procgen::meshBooleanResult ( const MeshBuild &  left,
const MeshBuild &  right,
std::string_view  operation 
)

Evaluate a closed-triangle solid boolean using a BSP polygon split.

参数
leftOwning input is not retained; triangle attributes are copied.
rightCutter/second solid, likewise borrowed only for this call.
operationunion, difference, or intersection.
返回
An owning triangle mesh, or a diagnostic without mutating either input. @thread Pure CPU operation; safe for distinct inputs on worker threads. @reentrancy Does not invoke callbacks.

在文件 MeshBoolean.cpp 第 312 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, left, operation, right , 以及 eve::Result< T >::success().

◆ meshContactBlendAgainstSurfaceResult()

EVENGINE_API_DOMAINS Result< MeshBuild > eve::procgen::meshContactBlendAgainstSurfaceResult ( const MeshBuild &  movable,
const MeshBuild &  surface,
const MeshContactBlendParams &  params 
)

Deform movable toward surface only (dynamic adhere / one-way fusion).

参数
movableSource mesh A; topology preserved in the result.
surfaceTarget mesh B; never modified or copied into the output.
paramsContact-band controls; softSnapPositions typically true for adhere.
返回
Owning deformed A, or a procgen.mesh.blend.* diagnostic.

在文件 MeshContactBlend.cpp 第 469 行定义.

引用了 params.

被这些函数引用 eve::procgen::MeshAdhereLive::evaluateResult() , 以及 meshAdhereResult().

◆ meshContactBlendResult()

EVENGINE_API_DOMAINS Result< MeshBuild > eve::procgen::meshContactBlendResult ( const MeshBuild &  mesh,
const std::vector< std::int32_t > &  vertexSourceIds,
const MeshContactBlendParams &  params 
)

Fuse edge normals / optional positions and material blend weights across source slices.

参数
meshOwning input is not retained; vertex attributes are copied into the result.
vertexSourceIdsOne stable source id per vertex; size must equal mesh.getVertexCount().
paramsFalloff and radius controls; invalid values return a diagnostic.
返回
Owning blended mesh, or a procgen.mesh.blend.* diagnostic without mutating mesh.

Material fusion writes vertex-color alpha as contactBlend in [0,1] (RGB preserved or filled with 1). Topology and UVs are unchanged unless a later merge weld runs. When softSnapPositions is true, hit-normal lerp is skipped; triangle normals are recalculated from the deformed positions and then 1-ring-averaged so contact necks shade continuously even when the soft-snap silhouette still pinches. Deterministic for equal inputs; main-thread or worker safe when inputs are immutable for the call duration. No callbacks.

在文件 MeshContactBlend.cpp 第 464 行定义.

引用了 mesh , 以及 params.

◆ modifyPointBounds()

PointSet eve::procgen::modifyPointBounds ( const PointSet &  input,
float  scaleX,
float  scaleY,
float  scaleZ,
float  padX,
float  padY,
float  padZ 
)

Scale and pad each point's local bounds about its center.

Zero-extent / degenerate bounds treat |scale| as the full local size before padding.

在文件 PointSet.cpp 第 1089 行定义.

引用了 cx, cy, index, input, eve::procgen::PointSet::mutablePoint(), point, eve::procgen::PointSet::points() , 以及 size.

◆ Module_IMPL()

eve::procgen::Module_IMPL ( Procgen  ,
new   Procgen() 
)

◆ nearestCavePassageFrame()

◆ noisePointFloatAttribute()

PointSet eve::procgen::noisePointFloatAttribute ( const PointSet &  input,
const std::string &  attribute,
uint32_t  seed,
float  frequency,
float  amplitude,
float  offset 
)

◆ paintHeightToImage()

void eve::procgen::paintHeightToImage ( image::ImageData &  img,
const std::vector< float > &  height,
int  w,
int  h,
const ColorRamp &  ramp,
int  bands,
int  pixelSize 
)

Paint height to image.

在文件 TextureRecipe.cpp 第 128 行定义.

引用了 bx, by, c, eve::image::ImageData::getData(), h, height, pixels, pixelSize, eve::procgen::Rgba8::r, eve::procgen::ColorRamp::sampleBanded(), t, w, x , 以及 y.

被这些函数引用 generatePbrSet().

◆ paintTerrainSplatLayer()

EVENGINE_API_DOMAINS Result< int > eve::procgen::paintTerrainSplatLayer ( TerrainSplatmap &  target,
const Heightmap &  paint,
int  targetLayer 
)

Replace one terrain layer with a normalized paint raster and proportionally renormalize all other layers.

参数
targetExclusively borrowed initialized owner, published only after every texel succeeds.
paintFinite normalized raster matching target topology; point sampling matches Pcg SetSplatmap.
targetLayerLayer index previously gathered by Pcg GetSplatmap.
返回
Changed texel count or structured diagnostic. No references, callbacks, RNG or time survive the call.

在文件 TerrainSplatmap.cpp 第 203 行定义.

◆ paintTerrainSplatLayerMultiTile()

EVENGINE_API_DOMAINS Result< TerrainMultiTileReport > eve::procgen::paintTerrainSplatLayerMultiTile ( const std::vector< TerrainSplatTile > &  tiles,
const Heightmap &  operationPaint,
int  targetLayer,
const TerrainStampSettings &  operationSettings,
bool  worldMapOperation = false,
const std::vector< std::string > &  validTerrainNames = {} 
)

Paint one shared Pcg Texture-domain operation raster across selected tiles atomically.

返回
Affected-pixel mappings and changed texel total; no tile publishes on any validation failure.

在文件 TerrainSplatmap.cpp 第 283 行定义.

引用了 eve::procgen::Heightmap::data(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), index, eve::InvalidArgument, eve::InvariantViolation, layer, mapTerrainOperationMultiTile(), eve::Result< T >::success(), target, Texture, tiles, eve::procgen::raster_detail::validRaster(), value, x , 以及 y.

被这些函数引用 eve::procgen::TerrainWorldWorkspace::paintSplat().

◆ parseTerrainFileFormat()

EVENGINE_API_DOMAINS TerrainFileFormat eve::procgen::parseTerrainFileFormat ( std::string_view  name)
noexcept

Parse a format selector from a script-facing string.

参数
name"auto", "evtr", "evtrn", "raw8", "raw16le" or "raw16be" (case-insensitive); anything else maps to TerrainFileFormat::Auto.
返回
The parsed selector.

在文件 TerrainFile.cpp 第 159 行定义.

引用了 Auto, c, Evtr, Evtrn, name, Raw16BE, Raw16LE , 以及 Raw8.

◆ partitionPointAttribute()

PointSet eve::procgen::partitionPointAttribute ( const PointSet &  input,
const std::string &  attribute,
const std::string &  outputAttribute,
const std::string &  mode 
)

◆ placePcgMaskMapTileInto()

EVENGINE_API_DOMAINS Result< int > eve::procgen::placePcgMaskMapTileInto ( image::ImageData &  output,
const image::ImageData &  tile,
int  destinationX,
int  destinationY,
int  destinationWidth,
int  destinationHeight 
)

Scale and copy one Pcg local mask-map result into a combined atlas rectangle.

参数
outputExclusively borrowed writable atlas, replaced atomically.
tileBorrowed readable local terrain result.
destinationXLeft atlas pixel.
destinationYTop atlas pixel.
destinationWidthPositive destination width.
destinationHeightPositive destination height.
返回
Changed atlas pixel count or InvalidArgument; failure leaves output unchanged. @thread Synchronous exclusive output access; tile storage is not retained and no callbacks run.

在文件 TerrainImageAdapter.cpp 第 773 行定义.

引用了 a, b, c, color, d, eve::image::ImageData::getHeight(), eve::image::ImageData::getPixel(), eve::image::ImageData::getWidth(), eve::procgen::raster_detail::invalid(), output, px, py, eve::procgen::raster_detail::sample(), eve::Result< T >::success(), u, v, x , 以及 y.

◆ planGtsTerrainLodAssets()

EVENGINE_API_DOMAINS Result< std::vector< GtsTerrainLodAssetEntry > > eve::procgen::planGtsTerrainLodAssets ( const GtsTerrainLodSet &  lods,
const std::string &  terrainName,
const std::string &  meshFolder = "Meshes" 
)

Build the deterministic object and mesh naming plan used by GTS terrain export.

参数
lodsComplete LOD set whose non-empty levels become entries.
terrainNameValid filesystem-safe terrain name.
meshFolderValid relative output folder, normally Meshes.
返回
Row-major, then near-to-far export entries.

在文件 GtsTerrainLod.cpp 第 194 行定义.

引用了 entries, eve::Diagnostic::error(), eve::procgen::GtsTerrainLodSet::getTileCount(), eve::procgen::raster_detail::invalid(), eve::InvalidArgument, level, eve::procgen::GtsTerrainLodAssetEntry::levelIndex, eve::procgen::GtsTerrainLodAssetEntry::meshName, eve::procgen::GtsTerrainLodAssetEntry::objectName, eve::procgen::GtsTerrainLodAssetEntry::relativePath, eve::procgen::GtsTerrainLodSet::tileAt(), eve::procgen::GtsTerrainLodAssetEntry::tileIndex , 以及 v.

被这些函数引用 eve::asset_procgen::prepareGtsTerrainLodPackage().

◆ planGtsTerrainLodAssetsInto()

EVENGINE_API_DOMAINS Result< void > eve::procgen::planGtsTerrainLodAssetsInto ( GtsTerrainLodAssetPlan &  output,
const GtsTerrainLodSet &  lods,
const std::string &  name,
const std::string &  folder 
)

Atomically replace a script-friendly export plan.

在文件 GtsTerrainLod.cpp 第 240 行定义.

◆ poissonDiskPoints()

PointSet eve::procgen::poissonDiskPoints ( int  width,
int  depth,
float  radius,
uint32_t  seed,
int  maxPoints 
)

Bridson blue-noise (Poisson disk) samples in a width x depth area (XZ, y=0).

在文件 PointSet.cpp 第 502 行定义.

引用了 active, cell, depth, derivePointId(), dx, dy, found, idx, nx, ny, output, ox, oy, point, radius, seed, unit, width, x, eve::procgen::ProcgenPoint::x , 以及 y.

被这些函数引用 eve::procgen::Procgen::poissonDiskHandle().

◆ procgenAttributeTypeName()

std::string_view eve::procgen::procgenAttributeTypeName ( ProcgenAttributeType  type)
noexcept

Return the stable script/persistence name for an attribute type.

在文件 AttributeTable.cpp 第 246 行定义.

引用了 Bool, Float, Int, String, type , 以及 Vector.

被这些函数引用 eve::procgen::PointSet::getAttributeType().

◆ projectMeshUvResult()

EVENGINE_API_DOMAINS Result< MeshBuild > eve::procgen::projectMeshUvResult ( const MeshBuild &  input,
std::string_view  mode,
float  scale = 1.f,
float  offsetU = 0.f,
float  offsetV = 0.f 
)

Generate topology-preserving UVs for a procedural or deformed mesh.

参数
inputSource mesh, borrowed for this synchronous call.
modeplanar, box, or spherical.
scalePositive projection scale.
offsetUU offset.
offsetVV offset.
返回
Owning mesh copy with replaced UV stream; source is never mutated.

在文件 MeshUvProjection.cpp 第 15 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), input, eve::InvalidArgument, length, nx, ny, nz, output, p, scale, eve::Result< T >::success(), u, uv, eve::procgen::MeshBuild::uvs(), v, x, y , 以及 z.

◆ projectPointsToHeightmap()

PointSet eve::procgen::projectPointsToHeightmap ( const PointSet &  input,
const Heightmap &  heightmap,
float  originX,
float  originZ,
float  cellSize,
float  heightScale 
)

◆ projectToCaveDensitySurface()

CaveFieldPoint eve::procgen::projectToCaveDensitySurface ( CaveFieldPoint  meshPoint,
const std::vector< float > &  density,
int  nx,
int  ny,
int  nz 
)

◆ projectToFinalCaveSurface()

EVENGINE_API_DOMAINS std::optional< CaveSurfaceAnchor > eve::procgen::projectToFinalCaveSurface ( const std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
CaveFieldPoint  point,
float  maximumDistance 
)

Projects a nearby field-space point to the final cave zero isosurface.

参数
densityFinal pre-deposition signed density; negative values are cave air.
nxDensity resolution on X.
nyDensity resolution on Y.
nzDensity resolution on Z.
pointNormalized field-space point in [-1, 1].
maximumDistanceMaximum accepted displacement from point.
返回
Surface position and normal pointing into rock, or no value when projection is unreliable.

在文件 CaveDepositAnchoring.cpp 第 86 行定义.

引用了 anchor, nx, ny, nz, point, sampleCaveDensity(), sampleCaveDensityGradient(), value, eve::procgen::CaveFieldPoint::x, eve::procgen::CaveFieldPoint::y , 以及 eve::procgen::CaveFieldPoint::z.

◆ prototypePieceDescriptors()

EVENGINE_API_DOMAINS std::span< const PrototypePieceDescriptor > eve::procgen::prototypePieceDescriptors ( )
noexcept

Return the stable catalogue of 75 procedural prototype modules.

返回
Process-lifetime read-only descriptor span. @ownership Borrowed static storage; never retain a pointer beyond process lifetime. @thread Safe for concurrent reads. @reentrancy Does not invoke callbacks.

在文件 PrototypeKit.cpp 第 289 行定义.

◆ prototypeTextureDescriptors()

EVENGINE_API_DOMAINS std::span< const PrototypeTextureDescriptor > eve::procgen::prototypeTextureDescriptors ( )
noexcept

Return the stable catalogue of 13 procedural prototype patterns.

返回
Process-lifetime read-only descriptor span. @ownership Borrowed static storage; never retain a pointer beyond process lifetime. @thread Safe for concurrent reads. @reentrancy Does not invoke callbacks.

在文件 PrototypeTextures.cpp 第 242 行定义.

◆ quantizeTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::quantizeTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source,
float  divisor 
)

Quantize every sample using Pcg HeightMap.Quantize's Mathf.Round rule.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input.
divisorFinite nonzero quantization interval.
返回
Changed samples or InvalidArgument; failure preserves target. @thread Synchronous caller-owned access; no retained references.

在文件 TerrainDerivedMap.cpp 第 262 行定义.

引用了 eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, eve::procgen::raster_detail::publish(), source, target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ quantizeTerrainHeightmapTerraces()

EVENGINE_API_DOMAINS Result< int > eve::procgen::quantizeTerrainHeightmapTerraces ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  startHeights,
const Heightmap &  curves 
)

Apply Pcg's curve-driven Quantize overload using one sampled curve per raster row.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite heights covered by the terrace starts through height 1.
startHeightsBorrowed N-by-1 strictly increasing terrace starts.
curvesBorrowed curveWidth-by-N sampled curve rows evaluated linearly over [0,1].
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 461 行定义.

引用了 count, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), output, eve::procgen::raster_detail::publish(), source, start, t, target, eve::procgen::raster_detail::validRaster(), value , 以及 x.

◆ randomSeedValue()

EVENGINE_API_DOMAINS uint32_t eve::procgen::randomSeedValue ( )

Produce a fresh seed suitable for regenerating a level (never 0).

在文件 RoguelikeGenerator.cpp 第 757 行定义.

引用了 randomSeedValue() , 以及 v.

被这些函数引用 eve::procgen::Procgen::randomSeed() , 以及 randomSeedValue().

◆ readPointFloatChannel()

Result< float > eve::procgen::readPointFloatChannel ( const PointSet &  points,
int  index,
std::string_view  name,
float  defaultValue 
)

◆ rebuildSoftSnapContactNormals()

EVENGINE_API_DOMAINS void eve::procgen::rebuildSoftSnapContactNormals ( MeshBuild &  mesh)

Rebuild triangle normals then 1-ring-average them (soft-snap / post-weld lighting).

参数
meshMesh to mutate; no-op when empty. @thread Caller serializes mutation; no retained pointers.

在文件 MeshContactBlend.cpp 第 350 行定义.

引用了 mesh.

◆ refineCaveWetnessBoundary()

CaveWetnessRefinement eve::procgen::refineCaveWetnessBoundary ( MeshBuild &  mesh,
const std::vector< CaveHydrologyPoint > &  drainageSpine,
float  fallbackRadius,
uint32_t  seed,
bool  splitBoundary 
)

◆ registerCableChainRopeRecipes()

EVENGINE_API_DOMAINS void eve::procgen::registerCableChainRopeRecipes ( MeshRecipeRegistry &  registry)

Register mesh.cable / mesh.chain / mesh.rope mesh recipes.

在文件 CableChainRope.cpp 第 278 行定义.

引用了 generateCableChainRope(), p , 以及 eve::procgen::MeshRecipeRegistry::registerRecipe().

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ registerCablePbrRecipes()

EVENGINE_API_DOMAINS void eve::procgen::registerCablePbrRecipes ( PbrRecipeRegistry &  registry)

◆ registerCableTextureRecipes()

EVENGINE_API_DOMAINS void eve::procgen::registerCableTextureRecipes ( TextureRecipeRegistry &  registry)

Register tex.cable.steel / tex.chain.iron / tex.rope.hemp.

在文件 CableTextures.cpp 第 461 行定义.

引用了 eve::procgen::TextureRecipeRegistry::registerRecipe().

被这些函数引用 eve::procgen::TextureRecipeRegistry::registerBuiltins().

◆ registerCastleMeshRecipe()

void eve::procgen::registerCastleMeshRecipe ( MeshRecipeRegistry &  r)

◆ registerCaveMeshRecipe()

void eve::procgen::registerCaveMeshRecipe ( MeshRecipeRegistry &  registry)

Register the deterministic three-dimensional limestone cave recipe.

Registration is idempotent through MeshRecipeRegistry::registerBuiltins(). The callback is synchronous, owns no retained state, and derives all randomness from the recipe seed.

参数
registryProcess-wide registry receiving mesh.cave.

在文件 CaveMeshRecipe.cpp 第 10 行定义.

引用了 caveMeshGenerator(), eve::procgen::ParamDescriptor::choice(), eve::procgen::ParamDescriptor::floating(), eve::procgen::ParamDescriptor::integer(), eve::procgen::RecipeDescriptor::params , 以及 eve::procgen::MeshRecipeRegistry::registerRecipe().

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ registerFloorPbrRecipes()

EVENGINE_API_DOMAINS void eve::procgen::registerFloorPbrRecipes ( PbrRecipeRegistry &  registry)

◆ registerFloorTextureRecipes()

EVENGINE_API_DOMAINS void eve::procgen::registerFloorTextureRecipes ( TextureRecipeRegistry &  registry)

Register tex.floor.wood and tex.floor.tile with schema metadata.

在文件 FloorTextures.cpp 第 1230 行定义.

引用了 eve::procgen::TextureRecipeRegistry::registerRecipe().

被这些函数引用 eve::procgen::TextureRecipeRegistry::registerBuiltins().

◆ registerHexTerrainAlgorithms()

void eve::procgen::registerHexTerrainAlgorithms ( GeneratorRegistry &  registry)

◆ registerLinearStructureRecipes()

void eve::procgen::registerLinearStructureRecipes ( MeshRecipeRegistry &  registry)

◆ registerLSystemRecipes()

void eve::procgen::registerLSystemRecipes ( MeshRecipeRegistry &  registry)

◆ registerMeshDeformationGeometryRecipes()

void eve::procgen::registerMeshDeformationGeometryRecipes ( MeshRecipeRegistry &  registry)

◆ registerProcgenCapabilities()

void eve::procgen::registerProcgenCapabilities ( )

Registers procgen capabilities.

在文件 ProcgenCapabilities.cpp 第 142 行定义.

引用了 impl.

被这些函数引用 eve::procgen::Procgen::Procgen().

◆ registerPrototypePieceRecipes()

void eve::procgen::registerPrototypePieceRecipes ( MeshRecipeRegistry &  registry)

Register all prototype modules as prototype.* mesh recipes.

参数
registryRegistry borrowed for this synchronous call; it retains copied descriptors and callbacks. @thread Call only during single-threaded registry initialization. @reentrancy Does not invoke registered callbacks.

在文件 PrototypeKit.cpp 第 326 行定义.

引用了 error, generatePrototypePiece(), id, params , 以及 eve::procgen::MeshRecipeRegistry::registerRecipe().

被这些函数引用 eve::procgen::MeshRecipeRegistry::registerBuiltins().

◆ registerPrototypeTextureRecipes()

void eve::procgen::registerPrototypeTextureRecipes ( TextureRecipeRegistry &  registry)

Register all patterns as tex.prototype.* texture recipes.

参数
registryRegistry borrowed for this synchronous call; it retains copied descriptors and callbacks. @thread Call only during single-threaded registry initialization. @reentrancy Does not invoke registered callbacks.

在文件 PrototypeTextures.cpp 第 286 行定义.

引用了 error, generatePrototypeTexture(), id, params, pattern , 以及 eve::procgen::TextureRecipeRegistry::registerRecipe().

被这些函数引用 eve::procgen::TextureRecipeRegistry::registerBuiltins().

◆ registerRoguelikeGenerator()

void eve::procgen::registerRoguelikeGenerator ( GeneratorRegistry &  registry)

Register the "level.roguelike" algorithm (idempotent).

在文件 RoguelikeGenerator.cpp 第 692 行定义.

引用了 descriptor, eve::procgen::GeneratorRegistry::registerAlgorithm() , 以及 registerRoguelikeGenerator().

被这些函数引用 eve::procgen::GeneratorRegistry::registerBuiltins() , 以及 registerRoguelikeGenerator().

◆ registerTerrainHeightmapAlgorithm()

◆ registerWfcSimple()

◆ remapPointDensity()

PointSet eve::procgen::remapPointDensity ( const PointSet &  input,
float  inputMin,
float  inputMax,
float  outputMin,
float  outputMax,
bool  clampOutput 
)

Linearly remap point density between ranges with optional output clamping.

在文件 PointSet.cpp 第 1033 行定义.

引用了 index, input, eve::procgen::PointSet::mutablePoint(), point, eve::procgen::PointSet::points() , 以及 size.

被这些函数引用 eve::procgen::Procgen::remapDensityHandle().

◆ removeTerrainObjectPoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::removeTerrainObjectPoints ( PointSet &  output,
const PointSet &  input,
const Heightmap &  fitness,
const TerrainObjectPlacementSettings &  settings,
float  removalStrength 
)

Remove matching prototype points wherever fitness is strictly above removalStrength.

返回
Removed count; output and all attributes are published atomically on success.

在文件 TerrainObjectPlacement.cpp 第 216 行定义.

引用了 eve::procgen::Heightmap::data(), eve::Result< T >::failure(), input, eve::procgen::raster_detail::invalid(), output, point, removed, s, eve::Result< T >::success(), eve::procgen::raster_detail::textureSample(), u, v , 以及 eve::procgen::raster_detail::validRaster().

◆ removeTerrainTerraces()

EVENGINE_API_DOMAINS Result< int > eve::procgen::removeTerrainTerraces ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  classification,
const TerrainTerraceRemovalSettings &  settings 
)

Apply Pcg's adaptive smoothing, gradient noise, 3x3 filter, and fixed 5x5 Gaussian blur.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite height samples.
classificationBorrowed matching TerrainTerraceClass raster, distinct from target.
settingsValid controls; terrainWorkflow applies the source's 0.00042/0.0035 noise ratio.
返回
Changed samples or InvalidArgument; all validation and computation precede atomic publication.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous caller-owned access with a named deterministic noise seed and no callbacks.

在文件 TerrainTerraceRemover.cpp 第 57 行定义.

引用了 Black, category, current, eve::procgen::Heightmap::data(), dx, dy, height, index, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), mask, output, eve::procgen::raster_detail::publish(), Red, s, source, strength, target, valid, value, weight, weights, width, x , 以及 y.

◆ removeTerrainTreePoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::removeTerrainTreePoints ( PointSet &  output,
const PointSet &  input,
const Heightmap &  fitness,
const TerrainTreePlacementSettings &  settings 
)

Remove matching tree points wherever the current fitness is strictly above the threshold.

参数
outputExclusively borrowed destination replaced atomically; it may alias input.
inputImmutable tree/mixed point snapshot whose attributes and ordering are preserved for retained rows.
fitnessFinite normalized removal mask spanning settings' terrain rectangle.
settingsValid placement settings; only domain, minimumFitness and asset select removals.
返回
Removed count or a structured diagnostic. Points outside the rectangle and other assets remain untouched. Caller serializes access on the owner thread; no references or callbacks survive the call.

在文件 TerrainTreePlacement.cpp 第 174 行定义.

引用了 eve::procgen::Heightmap::data(), eve::Result< T >::failure(), input, eve::procgen::raster_detail::invalid(), output, point, removed, s, eve::Result< T >::success(), eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ renamePointAttribute()

Result< PointSet > eve::procgen::renamePointAttribute ( const PointSet &  input,
const std::string &  from,
const std::string &  to 
)

◆ resampleCaveDensity()

EVENGINE_API_DOMAINS CaveResampledField eve::procgen::resampleCaveDensity ( const std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
int  factor 
)

◆ rescaleTerrainTreePoints()

EVENGINE_API_DOMAINS Result< int > eve::procgen::rescaleTerrainTreePoints ( PointSet &  output,
const PointSet &  input,
const TerrainTreeRescaleSettings &  settings 
)

Atomically refresh scale, bounds and bend metadata for one tree asset while preserving identity/transform.

参数
outputExclusively borrowed destination replaced only on success; it may alias input.
inputImmutable mixed PointSet snapshot.
settingsPrevious scale interval and new prototype values. Non-fixed refresh uses Pcg's clamped inverse-lerp mapping independently for width and height; a collapsed previous interval maps to the new minimum.
返回
Number of matching rows, or a structured validation/attribute diagnostic. Position, yaw, color, stable ID, row order and unrelated attributes are retained. Owner-thread only; no callbacks or retained references.

在文件 TerrainTreePlacement.cpp 第 206 行定义.

引用了 eve::Result< T >::failure(), Fixed, height, input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), maximum, minimum, output, point, radius, s, eve::Result< T >::success(), value , 以及 width.

◆ resetTerrainHeightmap()

Result< int > eve::procgen::resetTerrainHeightmap ( Heightmap &  target)

Reset a heightmap to Pcg's empty zero-by-zero state.

参数
targetDestination.
返回
Removed sample count.

在文件 TerrainDerivedMap.cpp 第 585 行定义.

引用了 eve::Result< T >::success() , 以及 target.

◆ resolveTilePreset()

EVENGINE_API_DOMAINS TilePresetVariant eve::procgen::resolveTilePreset ( std::uint8_t  neighbourMask)
noexcept

Resolve the exact TileWorldCreator 4.3.5 standard-grid category and transform tables.

参数
neighbourMaskEight-neighbour occupancy mask produced by grid.autotile.
返回
Deterministic tile category, rotation, mirror flag and reference configuration.
注解
Configuration 350 is intentionally None, matching the reference table's unclassified entry.

在文件 TilePreset.cpp 第 91 行定义.

引用了 c, mask, mirrorX, rotation , 以及 toTilePresetConfiguration().

◆ sampleCaveBiogenicCorrosion()

EVENGINE_API_DOMAINS CaveBiogenicCorrosionSample eve::procgen::sampleCaveBiogenicCorrosion ( const CaveBiogenicCorrosionInput &  input)

Sample an airflow-aligned, guano-ammonia biogenic corrosion overprint.

参数
inputPassage-local coordinates, wet-film exposure, intensity, and deterministic seed.
返回
Secondary erosion and the retained fraction of older fluvial scallops.

在文件 CaveBiogenicCorrosion.cpp 第 26 行定义.

引用了 eve::procgen::CaveBiogenicCorrosionSample::erosion, eve::procgen::CaveBiogenicCorrosionSample::fluvialScallopRetention, input , 以及 strength.

◆ sampleCaveCondensationFacets()

EVENGINE_API_DOMAINS CaveFacetSample eve::procgen::sampleCaveCondensationFacets ( const CaveFacetInput &  input)

Sample planar condensation-corrosion facets in passage-local coordinates.

参数
inputPassage position, wall geometry, normalized intensity, and deterministic seed.
返回
Bounded outward wall retreat, planar blend weight, and selected facet count.

在文件 CaveFacets.cpp 第 26 行定义.

引用了 eve::procgen::CaveFacetSample::facetCount, input, phase, eve::procgen::CaveFacetSample::planarWeight, eve::procgen::CaveFacetSample::retreat , 以及 strength.

◆ sampleCaveConstrictionScour()

◆ sampleCaveDensity()

EVENGINE_API_DOMAINS float eve::procgen::sampleCaveDensity ( const std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
CaveFieldPoint  point 
)

Sample cave density.

在文件 CaveFieldSampling.cpp 第 9 行定义.

引用了 a, at, b, nx, ny, nz, point, t, x, y , 以及 z.

被这些函数引用 findCaveVerticalSpan(), projectToCaveDensitySurface(), projectToFinalCaveSurface(), resampleCaveDensity() , 以及 sampleCaveDensityGradient().

◆ sampleCaveDensityGradient()

EVENGINE_API_DOMAINS CaveFieldPoint eve::procgen::sampleCaveDensityGradient ( const std::vector< float > &  density,
int  nx,
int  ny,
int  nz,
CaveFieldPoint  point 
)

Sample cave density gradient.

在文件 CaveFieldSampling.cpp 第 27 行定义.

引用了 nx, ny, nz, point, sampleCaveDensity() , 以及 step.

被这些函数引用 applyCaveSurfaceNormals(), projectToCaveDensitySurface() , 以及 projectToFinalCaveSurface().

◆ sampleCaveDifferentialVeinErosion()

EVENGINE_API_DOMAINS CaveDifferentialErosionSample eve::procgen::sampleCaveDifferentialVeinErosion ( const CaveDifferentialErosionInput &  input)

Sample host-rock retreat around resistant intersecting mineral veins.

参数
inputWorld position, local passage shell, normalized intensity, and deterministic seed.
返回
Bounded host retreat and the local resistant-vein protection weight.

Sample cave differential vein erosion.

在文件 CaveDifferentialErosion.cpp 第 26 行定义.

引用了 c, eve::procgen::CaveDifferentialErosionSample::hostRetreat, input, phase, s, strength, u, v , 以及 eve::procgen::CaveDifferentialErosionSample::veinProtection.

◆ sampleCaveFloodAbrasion()

EVENGINE_API_DOMAINS CaveAbrasionSample eve::procgen::sampleCaveFloodAbrasion ( const CaveAbrasionInput &  input)

Sample mechanical erosion by sediment-laden floods near the passage bed.

参数
inputPassage-local position, flow exposure, curvature, sediment load, and seed.
返回
Bounded abrasion response including the non-monotonic tools-and-cover effect.

在文件 CaveAbrasion.cpp 第 16 行定义.

引用了 cell, eve::procgen::CaveAbrasionSample::coverProtection, eve::procgen::CaveAbrasionSample::erosion, eve::procgen::CaveAbrasionSample::floorMask, input, eve::procgen::CaveAbrasionSample::toolAvailability , 以及 eve::procgen::CaveAbrasionSample::vortexMask.

◆ sampleCaveFloodPlucking()

EVENGINE_API_DOMAINS CavePluckingSample eve::procgen::sampleCaveFloodPlucking ( const CavePluckingInput &  input)

Sample thresholded removal of blocks bounded by one or more exposed fractures.

参数
inputCave position, near-bed angle, flow, fracture masks, block scale, and seed.
返回
Bounded blocky retreat response and its controlling factors.

在文件 CavePlucking.cpp 第 26 行定义.

引用了 eve::procgen::CavePluckingSample::blockMask, eve::procgen::CavePluckingSample::erosion, eve::procgen::CavePluckingSample::fracturePredisposition, hash, eve::procgen::CavePluckingSample::hydraulicActivation, input, key, release, scale , 以及 secondary.

◆ sampleCaveFracture()

EVENGINE_API_DOMAINS CaveFractureSample eve::procgen::sampleCaveFracture ( const CaveFractureInput &  input)

Sample a spatially correlated fracture aperture and stress-split dissolution front.

参数
inputPoint, fracture geometry, opt-in controls, and deterministic seed.
返回
Local dissolution mask plus diagnostic aperture and branch factors.

在文件 CaveFractures.cpp 第 18 行定义.

引用了 input, split , 以及 tangent.

被这些函数引用 createCavePotholeSites().

◆ sampleCaveFractureChannelization()

EVENGINE_API_DOMAINS CaveFractureChannelizationSample eve::procgen::sampleCaveFractureChannelization ( const CaveFractureChannelizationInput &  input)

Approximate fracture aperture-flow-dissolution feedback at one cave-wall sample.

参数
inputLocal fracture apertures, masks, hydraulic intensity, and reactant penetration.
返回
Local channelized erosion plus diagnostic feedback terms.

在文件 CaveFractureChannelization.cpp 第 16 行定义.

引用了 eve::procgen::CaveFractureChannelizationSample::erosion, eve::procgen::CaveFractureChannelizationSample::flowConcentration, input, eve::procgen::CaveFractureChannelizationSample::intersectionAmplification , 以及 eve::procgen::CaveFractureChannelizationSample::reactantAccess.

◆ sampleCaveKnickpointErosion()

◆ sampleCaveLithology()

EVENGINE_API_DOMAINS CaveLithologySample eve::procgen::sampleCaveLithology ( const CaveLithologyInput &  input)

Sample flow-accessible dissolution caused by contrasting beds and clustered stylolites.

参数
inputNormalized cave position, passage flow exposure, heterogeneity, and seed.
返回
Bounded selective retreat and observable lithology fields.

在文件 CaveLithology.cpp 第 28 行定义.

引用了 eve::procgen::CaveLithologySample::bedIndex, eve::procgen::CaveLithologySample::bedResistance, input, eve::procgen::CaveLithologySample::interbedMask, eve::procgen::CaveLithologySample::retreat, eve::procgen::CaveLithologySample::styloliteMask , 以及 warp.

◆ sampleCaveMicrostructure()

CaveMicrostructureSample eve::procgen::sampleCaveMicrostructure ( float  x,
float  y,
float  z,
uint32_t  seed,
float  heterogeneity,
float  microporosityAccess,
float  permeabilityContrast 
)

◆ sampleCaveMineralArmoring()

EVENGINE_API_DOMAINS CaveMineralArmoringSample eve::procgen::sampleCaveMineralArmoring ( const CaveMineralArmoringInput &  input)

Sample patchy secondary-mineral coating and its protection of carbonate wall rock.

参数
inputWall coordinates, hydraulic removal, mineral supply, and deterministic seed.
返回
Coating coverage, retained fraction, and remaining dissolution-rate multiplier.

在文件 CaveMineralArmoring.cpp 第 18 行定义.

引用了 eve::procgen::CaveMineralArmoringSample::coatingCoverage, eve::procgen::CaveMineralArmoringSample::dissolutionRetention, eve::procgen::CaveMineralArmoringSample::hydraulicRetention, input , 以及 phase.

◆ sampleCaveMixingCorrosion()

EVENGINE_API_DOMAINS CaveMixingCorrosionSample eve::procgen::sampleCaveMixingCorrosion ( CaveHydrologyVec3  point,
const std::vector< CaveMixingSite > &  sites 
)

◆ sampleCaveObstacleScour()

◆ sampleCavePotholeErosion()

EVENGINE_API_DOMAINS CavePotholeSample eve::procgen::sampleCavePotholeErosion ( CaveHydrologyVec3  point,
const std::vector< CavePotholeSite > &  sites 
)

Sample gravel-size-dependent pothole abrasion around derived sites.

参数
pointNormalized cave-space point.
sitesSites derived by createCavePotholeSites.
返回
Maximum bounded primary or compound-pothole erosion response.

在文件 CavePotholes.cpp 第 90 行定义.

引用了 eve::procgen::CavePotholeSite::alongRadius, eve::procgen::CavePotholeSite::center, eve::procgen::CavePotholeSite::depthRadius, eve::procgen::CavePotholeSample::erosion, eve::procgen::CavePotholeSite::erosionPotential, eve::procgen::CavePotholeSite::gravelSize, point, secondary, eve::procgen::CavePotholeSite::tangent , 以及 eve::procgen::CaveHydrologyVec3::y.

◆ sampleCaveRoughnessTransfer()

EVENGINE_API_DOMAINS CaveRoughnessTransferSample eve::procgen::sampleCaveRoughnessTransfer ( const CaveRoughnessTransferInput &  input)

Estimate local reactive transport over a rough carbonate wall.

参数
inputSigned wall relief, hydraulic exposure, and opt-in coupling strength.
返回
Deterministic ridge exposure, recess shelter, and bounded rate multiplier.

在文件 CaveRoughnessTransfer.cpp 第 7 行定义.

引用了 input.

◆ sampleCaveScallopHistory()

EVENGINE_API_DOMAINS CaveScallopHistorySample eve::procgen::sampleCaveScallopHistory ( const CaveScallopHistoryInput &  input)

◆ sampleCaveScallops()

EVENGINE_API_DOMAINS CaveScallopSample eve::procgen::sampleCaveScallops ( const CaveScallopInput &  input)

◆ sampleCaveStreamKarren()

EVENGINE_API_DOMAINS CaveKarrenSample eve::procgen::sampleCaveStreamKarren ( const CaveKarrenInput &  input)

Sample stream-bed solution grooves guided by the two strongest local fracture sets.

参数
inputPassage-frame orientation, authoritative hydraulic exposure, and fracture masks.
返回
Bounded erosion response that is inactive away from the passage floor.

在文件 CaveKarren.cpp 第 16 行定义.

引用了 eve::procgen::CaveKarrenSample::erosion, eve::procgen::CaveKarrenSample::floorExposure, eve::procgen::CaveKarrenSample::fractureGuidance, input, eve::procgen::CaveKarrenSample::intersectionPocket , 以及 secondary.

◆ sampleCaveWallRoughness()

EVENGINE_API_DOMAINS CaveRoughnessSample eve::procgen::sampleCaveWallRoughness ( const CaveRoughnessInput &  input)

Sample a three-band, spatially correlated cave-wall relief field.

参数
inputNormalized position and deterministic seed.
返回
Bounded combined relief and individual frequency bands.

在文件 CaveRoughness.cpp 第 45 行定义.

引用了 input.

◆ sampleCaveWaterTableCorrosion()

EVENGINE_API_DOMAINS CaveWaterTableSample eve::procgen::sampleCaveWaterTableCorrosion ( const CaveWaterTableInput &  input)

Sample laterally continuous corrosion belts left by one or more water-table stages.

参数
inputPassage-local wall angle, vertical position, staged levels, and seed.
返回
Local normalized corrosion, sidewall exposure, and dominant stage metadata.

在文件 CaveWaterTable.cpp 第 16 行定义.

引用了 eve::procgen::CaveWaterTableSample::dominantLevel, eve::procgen::CaveWaterTableSample::dominantStage, eve::procgen::CaveWaterTableSample::erosion, input , 以及 eve::procgen::CaveWaterTableSample::sidewallMask.

◆ sampleGridPoints()

EVENGINE_API_DOMAINS PointSet eve::procgen::sampleGridPoints ( int  width,
int  depth,
float  spacing,
uint32_t  seed,
float  jitter 
)

Sample grid points.

在文件 PointSet.cpp 第 480 行定义.

引用了 depth, derivePointId(), output, point, seed, spacing, width, x, eve::procgen::ProcgenPoint::x , 以及 z.

被这些函数引用 eve::procgen::Procgen::sampleGridHandle().

◆ samplePolylinePoints()

PointSet eve::procgen::samplePolylinePoints ( const PointSet &  controlPoints,
float  spacing,
uint32_t  seed,
float  lateralJitter 
)

Sample polyline points.

在文件 PointSet.cpp 第 757 行定义.

引用了 a, b, derivePointId(), dx, dy, dz, length, nx, nz, output, point, eve::procgen::PointSet::points(), seed, size, spacing, t, eve::procgen::ProcgenPoint::x , 以及 yaw.

被这些函数引用 eve::procgen::Procgen::sampleSplineHandle().

◆ sampleSpatialOntoChannel()

PointSet eve::procgen::sampleSpatialOntoChannel ( const PointSet &  input,
const SpatialData &  spatial,
std::string_view  channel,
float  inputMin,
float  inputMax,
float  outputMin,
float  outputMax,
bool  clampOutput,
bool  invert 
)

Remap SpatialData::sampleScalar onto a float channel ($Density or metadata). When inputMin equals inputMax, heightfields auto-use Y bounds and texture masks use 0..1.

在文件 SpatialData.cpp 第 395 行定义.

引用了 eve::Result< void >::expect(), eve::procgen::PointSet::getCount(), eve::procgen::PointSet::getX(), eve::procgen::PointSet::getY(), eve::procgen::PointSet::getZ(), index, input, range, spatial, t, target, value , 以及 writePointFloatChannel().

◆ sampleTerrainHeightmapNormalized()

EVENGINE_API_DOMAINS Result< float > eve::procgen::sampleTerrainHeightmapNormalized ( const Heightmap &  source,
float  x,
float  z 
)

Read Pcg HeightMap's normalized bilinear sample using x*width and z*depth coordinates.

参数
sourceBorrowed finite nonempty raster.
xNormalized finite X in [0,1].
zNormalized finite Z in [0,1].
返回
Interpolated value or InvalidArgument; x/z equal to one select the last sample. @thread Synchronous immutable access; no retained reference or callback.

在文件 TerrainDerivedMap.cpp 第 15 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, px, pz, source, eve::Result< T >::success(), eve::procgen::raster_detail::validRaster(), value, x , 以及 z.

◆ sampleTerrainHeightmapSafe()

EVENGINE_API_DOMAINS Result< float > eve::procgen::sampleTerrainHeightmapSafe ( const Heightmap &  source,
int  x,
int  z 
)

Read a finite heightmap at an integer coordinate clamped to its nearest border.

返回
Sample value or InvalidArgument for an empty/nonfinite raster. @thread Synchronous immutable access; no retained reference or callback.

在文件 TerrainDerivedMap.cpp 第 7 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, source, eve::Result< T >::success(), eve::procgen::raster_detail::validRaster(), x , 以及 z.

◆ selectPointFloatAttribute()

Result< PointSet > eve::procgen::selectPointFloatAttribute ( const PointSet &  input,
const std::string &  conditionAttribute,
const std::string &  trueAttribute,
const std::string &  falseAttribute,
const std::string &  outputAttribute,
float  trueDefault,
float  falseDefault 
)

◆ selfPrunePoints()

PointSet eve::procgen::selfPrunePoints ( const PointSet &  input,
float  radius 
)

Self prune points.

在文件 PointSet.cpp 第 737 行定义.

引用了 appendPointRow(), dx, dz, index, input, output, eve::procgen::PointSet::points(), radius , 以及 size.

被这些函数引用 eve::procgen::Procgen::selfPruneHandle().

◆ semanticId()

EVENGINE_API_DOMAINS uint32_t eve::procgen::semanticId ( const std::string &  name)

Semantic id.

在文件 Semantic.cpp 第 40 行定义.

引用了 eve::procgen::Semantic::Empty , 以及 name.

◆ semanticName()

◆ setPointBoolAttribute()

PointSet eve::procgen::setPointBoolAttribute ( const PointSet &  input,
const std::string &  attribute,
bool  value 
)

Write a constant bool metadata column on every point.

在文件 PointSetAttributeOps.cpp 第 520 行定义.

引用了 eve::Result< void >::expect(), eve::procgen::PointSet::getCount(), index, input, eve::procgen::PointSet::trySetBoolAttribute() , 以及 value.

◆ setPointDataFloatAttribute()

Result< void > eve::procgen::setPointDataFloatAttribute ( PointSet &  points,
const std::string &  attribute,
float  value 
)

Write a float into the PointSet @Data domain.

在文件 PointSetAttributeOps.cpp 第 604 行定义.

引用了 ensurePointSetDataRow(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, points , 以及 value.

◆ setPointDataIntAttribute()

Result< void > eve::procgen::setPointDataIntAttribute ( PointSet &  points,
const std::string &  attribute,
std::int64_t  value 
)

Write an int into the PointSet @Data domain.

在文件 PointSetAttributeOps.cpp 第 612 行定义.

引用了 ensurePointSetDataRow(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, points , 以及 value.

◆ setPointDataStringAttribute()

Result< void > eve::procgen::setPointDataStringAttribute ( PointSet &  points,
const std::string &  attribute,
const std::string &  value 
)

Write a string into the PointSet @Data domain.

在文件 PointSetAttributeOps.cpp 第 620 行定义.

引用了 ensurePointSetDataRow(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, points , 以及 value.

◆ setPointIntAttribute()

PointSet eve::procgen::setPointIntAttribute ( const PointSet &  input,
const std::string &  attribute,
std::int64_t  value 
)

Write a constant int metadata column on every point.

在文件 PointSetAttributeOps.cpp 第 513 行定义.

引用了 eve::Result< void >::expect(), eve::procgen::PointSet::getCount(), index, input, eve::procgen::PointSet::trySetIntAttribute() , 以及 value.

◆ setPointVectorAttribute()

PointSet eve::procgen::setPointVectorAttribute ( const PointSet &  input,
const std::string &  attribute,
float  x,
float  y,
float  z 
)

Write a constant vector metadata column on every point.

在文件 PointSetAttributeOps.cpp 第 527 行定义.

引用了 eve::Result< void >::expect(), eve::procgen::PointSet::getCount(), index, input, eve::procgen::PointSet::trySetVectorAttribute(), x, y , 以及 z.

◆ setTerrainHeightmapColumn()

EVENGINE_API_DOMAINS Result< int > eve::procgen::setTerrainHeightmapColumn ( Heightmap &  target,
int  columnZ,
const Heightmap &  values 
)

Set Pcg's fixed-Z column from a one-dimensional strip.

参数
targetDestination.
columnZFixed Z.
valuesTarget-width strip.
返回
Changed samples or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 574 行定义.

引用了 eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), target, eve::procgen::raster_detail::validRaster(), values , 以及 x.

◆ setTerrainHeightmapRow()

EVENGINE_API_DOMAINS Result< int > eve::procgen::setTerrainHeightmapRow ( Heightmap &  target,
int  rowX,
const Heightmap &  values 
)

Set Pcg's fixed-X row from a one-dimensional strip.

参数
targetDestination.
rowXFixed X.
valuesTarget-height strip.
返回
Changed samples or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 564 行定义.

引用了 eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), target, eve::procgen::raster_detail::validRaster(), values , 以及 y.

◆ setTerrainHeightmapSafe()

EVENGINE_API_DOMAINS Result< int > eve::procgen::setTerrainHeightmapSafe ( Heightmap &  target,
int  x,
int  y,
float  value 
)

Set one sample after clamping its coordinates to the nearest border.

参数
targetDestination.
xX coordinate.
yZ coordinate.
valueFinite value.
返回
Changed samples or InvalidArgument.

在文件 TerrainDerivedMap.cpp 第 546 行定义.

引用了 eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), target, eve::procgen::raster_detail::validRaster(), value, x , 以及 y.

◆ simplifyGtsMesh()

◆ smoothTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::smoothTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source,
int  iterations 
)

Apply Pcg HeightMap.Smooth's in-place four-neighbor passes.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input copied before mutation.
iterationsNonnegative pass count.
返回
Changed samples or InvalidArgument; failure preserves target. @thread Synchronous caller-owned access; no retained references.

在文件 TerrainDerivedMap.cpp 第 161 行定义.

引用了 at, bottom, height, eve::procgen::raster_detail::invalid(), iterations, left, output, eve::procgen::raster_detail::publish(), right, source, target, top, eve::procgen::raster_detail::validRaster(), width, x , 以及 y.

◆ smoothTerrainHeightmapRadius()

EVENGINE_API_DOMAINS Result< int > eve::procgen::smoothTerrainHeightmapRadius ( Heightmap &  target,
const Heightmap &  source,
int  radius 
)

Apply Pcg HeightMap.SmoothRadius's scaled sliding-window filter, including its first-row omission.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input copied before mutation.
radiusNonnegative radius that Pcg promotes to at least five.
返回
Changed samples or InvalidArgument; failure preserves target. @thread Synchronous caller-owned access; no retained references.

在文件 TerrainDerivedMap.cpp 第 181 行定义.

引用了 at, filter, height, eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), radius, source, target, eve::procgen::raster_detail::validRaster(), value, width, x , 以及 y.

◆ smoothTerrainMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::smoothTerrainMask ( Heightmap &  target,
const Heightmap &  input,
float  verticality,
float  blurRadius 
)

Apply Pcg's two-pass Smooth ImageMask operation to a scalar mask.

参数
targetExclusively borrowed finite destination matching input; aliases are permitted.
inputBorrowed finite mask to smooth.
verticalityFinite selector in [-1,1]: -1 only lowers, 0 averages, 1 only raises.
blurRadiusFinite nonnegative texel stride used by each of seven weighted tap pairs.
返回
Changed count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; no state, callback, time or RNG is retained. The vertical pass deliberately uses the X texel size, matching SmoothHeight.shader on rectangular rasters. The shader computes but does not apply HeightTransformTex, so this operation has no curve or blend stage.

在文件 TerrainMask.cpp 第 12 行定义.

引用了 applyTerrainSmooth(), eve::procgen::Heightmap::data(), input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::publish(), settings, target , 以及 eve::procgen::raster_detail::validRaster().

◆ splitGtsMesh()

EVENGINE_API_DOMAINS Result< GtsMeshSplitResult > eve::procgen::splitGtsMesh ( const MeshBuild &  source,
int  xSplits,
int  zSplits,
GtsMeshPivot  pivot = GtsMeshPivot::None 
)

Split every source triangle against a regular X/Z grid like GTSMeshSplitter.

参数
sourceImmutable triangle mesh with aligned position, normal and UV streams.
xSplitsNumber of vertical split planes; output columns equal xSplits plus one.
zSplitsNumber of horizontal split planes; output rows equal zSplits plus one.
pivotOptional per-cell vertex translation with a matching restoration offset.
返回
Owned row-major cells; empty cells are retained.

在文件 GtsMeshSplitter.cpp 第 73 行定义.

◆ splitGtsMeshInto()

Result< void > eve::procgen::splitGtsMeshInto ( GtsMeshSplitResult &  output,
const MeshBuild &  source,
int  xSplits,
int  zSplits,
GtsMeshPivot  pivot 
)

Atomically replace an owned result with a GTS mesh split.

在文件 GtsMeshSplitter.cpp 第 159 行定义.

◆ stitchTerrainHeightmaps()

EVENGINE_API_DOMAINS Result< int > eve::procgen::stitchTerrainHeightmaps ( const TerrainHeightTile &  terrainA,
const TerrainHeightTile &  terrainB,
const TerrainHeightStitchSettings &  settings = {} 
)

Stitch the overlapping shared edge of two grid-aligned height tiles with Pcg's seam interpolation.

参数
terrainAFirst exclusively borrowed height tile.
terrainBSecond exclusively borrowed height tile with distinct storage.
settingsSeam radius in samples and the Pcg profile's currently inactive max-difference field.
返回
Unique changed sample count across both tiles; neither publishes when validation fails. @ownership No pointer or reference survives this synchronous caller-thread operation.

在文件 TerrainMultiTile.cpp 第 258 行定义.

引用了 d, eve::procgen::Heightmap::data(), depth, eve::procgen::TerrainHeightTile::depth, direction, dx, dz, East, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, first, eve::procgen::Heightmap::getHeight(), eve::procgen::Heightmap::getWidth(), eve::procgen::Heightmap::height(), eve::procgen::TerrainHeightTile::heightmap, eve::InvalidArgument, North, offset, eve::procgen::TerrainHeightTile::originX, eve::procgen::TerrainHeightTile::originZ, p, seam, eve::procgen::Heightmap::setHeight(), settings, side, size, South, spacingX, spacingZ, eve::Result< T >::success(), eve::procgen::raster_detail::validRaster(), West, eve::procgen::TerrainHeightTile::width, x , 以及 y.

被这些函数引用 eve::procgen::TerrainMultiTileWorkspace::stitch().

◆ terrainHeightmapHasData()

EVENGINE_API_DOMAINS Result< bool > eve::procgen::terrainHeightmapHasData ( const Heightmap &  source)

Return whether a heightmap contains a valid positive-size sample array.

在文件 TerrainDerivedMap.cpp 第 31 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, source , 以及 eve::Result< T >::success().

被这些函数引用 terrainHeightmapIsPowerOfTwo().

◆ terrainHeightmapIsPowerOfTwo()

EVENGINE_API_DOMAINS Result< bool > eve::procgen::terrainHeightmapIsPowerOfTwo ( const Heightmap &  source)

Return whether both positive heightmap dimensions are powers of two; malformed storage fails.

在文件 TerrainDerivedMap.cpp 第 40 行定义.

引用了 eve::Result< T >::failure(), power, source, eve::Result< T >::success(), terrainHeightmapHasData() , 以及 value.

◆ tilePresetKindName()

std::string_view eve::procgen::tilePresetKindName ( TilePresetKind  kind)
noexcept

Stable lowercase identifier used in mesh build-layer group names.

在文件 TilePreset.cpp 第 105 行定义.

引用了 CornerFill, CornerWay, DeadEnd, DoubleCorner, EdgeCornerFill, EdgeFill, EdgeWay, Fill, FourWay, InteriorCorner, kind, None, Single, ThreeCorner, ThreeWay , 以及 ThreeWayFill.

◆ toTilePresetConfiguration()

std::uint16_t eve::procgen::toTilePresetConfiguration ( std::uint8_t  neighbourMask)
noexcept

Convert EVEngine's N/E/S/W/NE/SE/SW/NW mask to the reference 3x3 configuration.

参数
neighbourMaskEight-neighbour occupancy mask produced by grid.autotile.
返回
Nine-bit row-major configuration with the occupied center bit set.

在文件 TilePreset.cpp 第 78 行定义.

引用了 c, mask , 以及 u.

被这些函数引用 resolveTilePreset().

◆ transferPointAttribute()

◆ transformPointSet()

EVENGINE_API_DOMAINS PointSet eve::procgen::transformPointSet ( const PointSet &  input,
float  translateX,
float  translateY,
float  translateZ,
float  yawDegrees,
float  scaleX,
float  scaleY,
float  scaleZ 
)

Apply translation, yaw rotation and non-uniform scale to points and their transforms.

在文件 PointSet.cpp 第 886 行定义.

引用了 input , 以及 transformPointSet3D().

被这些函数引用 eve::procgen::Procgen::transformPointsHandle().

◆ transformPointSet3D()

EVENGINE_API_DOMAINS PointSet eve::procgen::transformPointSet3D ( const PointSet &  input,
float  translateX,
float  translateY,
float  translateZ,
float  pitchDegrees,
float  yawDegrees,
float  rollDegrees,
float  scaleX,
float  scaleY,
float  scaleZ 
)

Apply translation, pitch/yaw/roll rotation and non-uniform scale.

在文件 PointSet.cpp 第 891 行定义.

引用了 index, input, eve::procgen::PointSet::mutablePoint(), output, point, size, x, eve::procgen::ProcgenPoint::x, y , 以及 z.

被这些函数引用 eve::procgen::Procgen::transformPoints3DHandle() , 以及 transformPointSet().

◆ transformTerrainHeightmap()

EVENGINE_API_DOMAINS Result< int > eve::procgen::transformTerrainHeightmap ( Heightmap &  target,
const Heightmap &  source,
TerrainHeightmapTransform  transform,
float  parameter 
)

Apply Pcg Invert, Normalise, Power, or Contrast to a finite heightmap.

参数
targetExclusively borrowed matching output; it may alias source.
sourceBorrowed finite input.
transformTransform in source-family order.
parameterExponent for Power or factor for Contrast; ignored by Invert and Normalise.
返回
Changed samples or InvalidArgument; failure preserves target.

在文件 TerrainDerivedMap.cpp 第 355 行定义.

引用了 Contrast, eve::procgen::raster_detail::invalid(), Invert, eve::procgen::raster_detail::isRepresentable(), minimum, Normalise, output, Power, eve::procgen::raster_detail::publish(), range, source, target, eve::procgen::raster_detail::validRaster() , 以及 value.

◆ transformTerrainMask()

EVENGINE_API_DOMAINS Result< int > eve::procgen::transformTerrainMask ( Heightmap &  target,
const Heightmap &  source,
const Heightmap &  curve 
)

Transform scalar input through a clamped bilinear one-row curve texture.

参数
targetBorrowed destination, same dimensions as source; may alias any input.
sourceBorrowed finite scalar raster; UV = its value, clamped to [0,1].
curveBorrowed nonempty one-row texture. Texel centers are (i+0.5)/width, matching GPU texture sampling (not interpolation between endpoint knots).
返回
Changed sample count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget is unchanged on allocation failure. @thread Synchronous, exclusively owned target; immutable inputs, no retained borrows or callbacks.

在文件 TerrainMask.cpp 第 305 行定义.

引用了 curve, eve::procgen::raster_detail::curveSample(), eve::procgen::Heightmap::data(), eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::publish(), source , 以及 target.

◆ unionPointSets()

EVENGINE_API_DOMAINS PointSet eve::procgen::unionPointSets ( const PointSet &  first,
const PointSet &  second 
)

Stable union by non-zero point id, with legacy position-and-seed fallback.

在文件 PointSet.cpp 第 852 行定义.

引用了 appendPointRow(), first, index, eve::procgen::PointSet::reserve(), second , 以及 size.

被这些函数引用 eve::procgen::Procgen::unionPointsHandle().

◆ writeGridJson()

bool eve::procgen::writeGridJson ( const Grid2D &  grid,
const std::string &  path,
std::string *  error 
)

Writes grid json.

在文件 JsonExport.cpp 第 58 行定义.

引用了 error, gridToJson() , 以及 path.

被这些函数引用 eve::procgen::Procgen::generateTo().

◆ writePointFloatChannel()

Result< void > eve::procgen::writePointFloatChannel ( PointSet &  points,
int  index,
std::string_view  name,
float  value 
)