载入中...
搜索中...
未找到
PointSet.cpp 文件参考
#include "procgen/PointSet.h"
#include "common/Diagnostic.h"
#include "procgen/Grid2D.h"
#include <algorithm>
#include <bit>
#include <cmath>
#include <limits>
#include <random>
#include <unordered_set>

浏览源代码.

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::procgen
 

函数

void eve::procgen::appendPointRow (PointSet &output, const PointSet &input, std::size_t index)
 
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.
 
std::uint64_t eve::procgen::derivePointId (std::uint64_t namespaceId, std::uint64_t ordinal)
 Deterministically derive a non-zero stable point identity.
 
PointSet eve::procgen::sampleGridPoints (int width, int depth, float spacing, uint32_t seed, float jitter)
 Sample grid points.
 
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 eve::procgen::filterPointHeight (const PointSet &input, float minHeight, float maxHeight)
 Filter point height.
 
PointSet eve::procgen::filterPointDensity (const PointSet &input, float minDensity, float maxDensity)
 Filter point density.
 
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 eve::procgen::filterPointSlope (const PointSet &input, float minDegrees, float maxDegrees)
 Filter point slope.
 
PointSet eve::procgen::filterPointsByPolygon (const PointSet &input, const PointSet &polygon, bool invert)
 Filter points by polygon.
 
PointSet eve::procgen::filterPointsBySplineDistance (const PointSet &input, const PointSet &controlPoints, float minDistance, float maxDistance)
 Filter points by spline distance.
 
PointSet eve::procgen::excludePointRadius (const PointSet &input, float x, float z, float radius)
 Exclude point radius.
 
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.
 
PointSet eve::procgen::jitterPointPositions (const PointSet &input, uint32_t seed, float amountX, float amountZ)
 Jitter point positions.
 
PointSet eve::procgen::selfPrunePoints (const PointSet &input, float radius)
 Self prune points.
 
PointSet eve::procgen::samplePolylinePoints (const PointSet &controlPoints, float spacing, uint32_t seed, float lateralJitter)
 Sample polyline points.
 
PointSet eve::procgen::mergePointSets (const PointSet &first, const PointSet &second)
 Concatenate two attributed point collections while preserving order.
 
PointSet eve::procgen::unionPointSets (const PointSet &first, const PointSet &second)
 Stable union by non-zero point id, with legacy position-and-seed fallback.
 
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 eve::procgen::differencePointSets (const PointSet &first, const PointSet &second)
 Remove first-set points whose stable or legacy identity occurs in the second set.
 
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 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 eve::procgen::copyPointsToTargets (const PointSet &source, const PointSet &targets, bool inheritTargetAttributes)
 Instantiate source points relative to targets in stable target-major order.
 
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 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 eve::procgen::densityCullPoints (const PointSet &input, uint32_t seed, float multiplier)
 Deterministically keep points according to density and a root seed.
 
PointSet eve::procgen::densityFromNormal (const PointSet &input, float minDegrees, float maxDegrees, float outputMin, float outputMax, bool invert)
 Remap surface slope (from normals) into density.
 
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.
 
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.
 

变量说明

◆ id

std::uint64_t id = 0

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

◆ seed

std::uint32_t seed = 0

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

被这些函数引用 eve::procgen::TerrainSpawnPlan::addDetail(), eve::camera::CameraController::addImpulse(), eve::fluids::VolumeFluid::addRandomVelocity(), eve::procgen::TerrainDetailLayer::apply(), eve::procgen::TerrainWorldWorkspace::applyDetail(), eve::fluids::VolumeFluid::applyRandomColors(), eve::procgen::applyTerrainDetailMultiTile(), eve::procgen::assignWeightedMeshAttribute(), eve::graphics::detail::bakeDistantSkyAmbient(), eve::decal::Decal::bakePresetTexture(), eve::dev::PlayTraceBuffer::begin(), eve::procgen::Procgen::beginCachedSystemHandle(), eve::procgen::Procgen::beginSystemHandle(), eve::editor::SurfaceFluidPreviewService::build(), eve::procgen::TerrainPipeline::buildHydrology(), eve::procgen::caveWetnessField(), eve::procgen::closeCaveDensityBoundary(), eve::asset::cookCanonicalPcgGraph(), eve::procgen::createCaveBreakdown(), eve::procgen::createCaveMixingSites(), eve::procgen::createCavePotholeSites(), eve::procgen::createCaveSediment(), eve::particles::ParticleEmitter::createEmitter(), eve::daynight::SkyProfile::decode(), eve::pixelworld_streaming::decodeChunkBatchArchive(), eve::agent::decodeConfig(), eve::map::TileLayer::defineAutotileFamily(), eve::procgen::Procgen::densityCullHandle(), eve::procgen::densityCullPoints(), eve::procgen::RuntimeGeneration::deserializeCell(), eve::procgen::ObjectBuildLayer::deserializeDefinition(), eve::procgen::erodeCaveByCondensation(), eve::audio::evaluateAudioZone(), eve::animation::evaluateMotionShakeSign(), eve::procgen::evolveCaveSurfaceByCorrelatedReactivity(), eve::biome_editor::exposeBiomeRulesEditorScriptBindings(), eve::procgen::exposeGridMeshGraphs(), eve::scene::exposePcgGrowthBindings(), eve::procgen::exposeScriptGeneratorHost(), eve::procgen::fillDensityField(), eve::graphics::fog::ProceduralDust::generate(), eve::procgen::ShapeGrammar::generate(), eve::procgen::BiomeRules::generate(), eve::graphics::SkyWispsAsset::generate(), eve::graphics::fog::FogSystem::generateDust(), eve::procgen::generateHexTerrainMesh(), eve::graphics::hair::generateOnMesh(), eve::procgen::generateRockMesh(), eve::hexmap::hexTerrainBakeFromValue(), eve::decal::importProceduralDecalSbsprs(), eve::procgen::jitterPointPositions(), eve::procgen::Procgen::jitterPointsHandle(), eve::asset_procgen::EvpackInstanceSetLoader::load(), eve::hexmap::loadHexMap(), eve::graphics::MapFog::makeCloudTexture(), eve::procgen::road::RoadNetwork::makeInterchange(), eve::procgen::road::RoadNetwork::makeScene(), eve::tactics::Tactics::newBattle(), eve::hexmap::HexMapModule::newGrid(), eve::hexmap::HexMapModule::newSphere(), eve::pixelworld::PixelWorldModule::newWorld(), eve::procgen::noisePointFloatAttribute(), eve::procgen::dtlutil::placeSpawnAndStairs(), eve::procgen_editor::ProcgenScriptEditor::pointSeed(), eve::procgen::Procgen::poissonDiskHandle(), eve::procgen::poissonDiskPoints(), eve::asset_import::prepareUnrealM4Import(), eve::biome_editing::BiomeDocumentRuntime::preview(), eve::decal::proceduralDecalPreset(), eve::decal::Decal::project(), eve::decal::DecalManager::project(), eve::procgen::refineCaveWetnessBoundary(), eve::rpg::BattleSystem::resolveHit(), eve::rpg::RPG::rollLoot(), eve::procgen::SpatialData::sample(), eve::procgen::sampleCaveMicrostructure(), eve::procgen::Procgen::sampleGridHandle(), eve::procgen::sampleGridPoints(), eve::graphics::grass::sampleHalton(), eve::procgen::samplePolylinePoints(), eve::procgen::Procgen::sampleSpatialHandle(), eve::procgen::Procgen::sampleSplineHandle(), eve::graphics::fog::FogDensityField::seedHeightBand(), eve::graphics::fog::FogSystem::seedHeightFog(), eve::procgen::gridgraph::select(), eve::particles::PcgMaterialSelector::selectAndApply(), eve::graphics::FogVolume::setNoise(), eve::procgen::PointSet::setPointSeed(), eve::dialogue::Dialogue::setRandomSeed(), eve::particles::ParticleEmitter::setRandomSeed(), eve::math::Math::setRandomSeed(), eve::tensor::TF::setRandomSeed(), eve::procgen::ObjectBuildLayer::setSeed(), eve::procgen::LSystem::setSeed(), eve::procgen::TerrainSampler::setSeed(), eve::procgen::Params::setSeed(), eve::procgen::CloudField::setSeed(), eve::voxel::VoxelWorld::setTerrainParams(), eve::dev::RenderFlow::sliceBackward(), eve::particles::ParticleEmitter::start(), eve::scene::PcgGrowth::start(), eve::rts::TrafficReservationSystem::step() , 以及 eve::weather::triggerThunderStrike().

◆ x

float x = 0.f

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

◆ y

float y = 0.f

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

◆ z

float z = 0.f

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