载入中...
搜索中...
未找到
eve::procgen::Heightmap类 参考

In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from a TerrainSampler or filled by hand. 更多...

#include <Heightmap.h>

Public 成员函数

 Heightmap ()=default
 Heightmap.
 
 Heightmap (int width, int height)
 Heightmap.
 
void resize (int width, int height)
 Resize.
 
int getWidth () const
 Returns the width.
 
int getHeight () const
 Returns the height.
 
bool inBounds (int x, int y) const
 In bounds.
 
void setHeight (int x, int y, float h)
 Sets the height.
 
float height (int x, int y) const
 Height.
 
float sampleBilinear (float x, float y) const
 Bilinear height at continuous coordinate within [0, w) x [0, h).
 
float sampleBilinearSeamless (float x, float y) const
 Bilinear height with wrap-around (seamless tiling).
 
const std::vector< float > & data () const
 Data.
 
std::vector< float > & data ()
 Mutable row-major samples for terrain processing and asset import.
 
bool toGrid (Grid2D &out, const TerrainBands &bands) const
 Classify heights into a semantic Grid2D (source for tilemap generation).
 

静态 Public 成员函数

static Heightmap generate (const TerrainSampler &sampler, int width, int height)
 Materialize a Heightmap by sampling sampler at every pixel center.
 

详细描述

In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from a TerrainSampler or filled by hand.

Use generate() to sample a TerrainSampler per-pixel, height(x, y) / sampleBilinear(x, y) to read values back, and toGrid() to classify the heights into a semantic Grid2D ready for tilemap generation.

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

构造及析构函数说明

◆ Heightmap() [1/2]

eve::procgen::Heightmap::Heightmap ( )
default

◆ Heightmap() [2/2]

eve::procgen::Heightmap::Heightmap ( int  width,
int  height 
)

Heightmap.

在文件 Heightmap.cpp 第 8 行定义.

引用了 height, resize() , 以及 width.

成员函数说明

◆ data() [1/2]

std::vector< float > & eve::procgen::Heightmap::data ( )
inline

Mutable row-major samples for terrain processing and asset import.

在文件 Heightmap.h 第 50 行定义.

◆ data() [2/2]

const std::vector< float > & eve::procgen::Heightmap::data ( ) const
inline

Data.

在文件 Heightmap.h 第 48 行定义.

被这些函数引用 eve::procgen::TerrainWaterField::advanceHydraulic(), eve::procgen::TerrainDetailLayer::apply(), eve::procgen::applyTerrainDetailMultiTile(), eve::procgen::applyTerrainHeightMix(), eve::procgen::applyTerrainLegacyDistributedErosion(), eve::procgen::applyTerrainLegacyHydraulic(), eve::procgen::applyTerrainLegacySteepestErosion(), eve::procgen::applyTerrainObjectsMultiTile(), eve::procgen::applyTerrainProbesMultiTile(), eve::procgen::applyTerrainSediment(), eve::procgen::applyTerrainThermal(), eve::procgen::applyTerrainTreesMultiTile(), eve::procgen::TerrainAsset::bake(), eve::procgen::bakeGtsDetailSurface(), eve::procgen::TerrainMeshBuilder::build(), eve::procgen::TerrainPipeline::buildClimate(), eve::procgen::buildGtsTerrainBaseMesh(), eve::procgen::TerrainPipeline::buildHydrology(), eve::procgen::convolveTerrainHeightmap(), eve::heightmap_target::decodeTerrainDocument(), eve::heightmap_target::encodeTerrainDocument(), eve::procgen::TerrainPipeline::erodeFluvialDetailed(), eve::procgen::TerrainPipeline::erodeHydraulic(), eve::procgen::TerrainPipeline::erodeThermal(), eve::procgen::PcgRuntimeStamper::execute(), eve::procgen::exportTerrainObjectPoints(), eve::procgen::exportTerrainProbePoints(), eve::procgen::exportTerrainTreePoints(), eve::procgen::flipTerrainHeightmap(), eve::procgen::generateTerrainErosionMask(), eve::procgen::generateTerrainImageMaskFromImage(), eve::procgen::TerrainAsset::loadChunk(), eve::procgen::paintTerrainSplatLayerMultiTile(), eve::procgen::TerrainGenerationSession::Impl::rebuild(), eve::procgen::removeTerrainObjectPoints(), eve::procgen::removeTerrainTerraces(), eve::procgen::removeTerrainTreePoints(), eve::procgen::TerrainGenerationSession::reset(), eve::procgen::TerrainStreamingCache::sampleCell(), eve::procgen::smoothTerrainMask(), eve::procgen::stitchTerrainHeightmaps(), eve::procgen::transformTerrainMask() , 以及 eve::procgen::raster_detail::validRaster().

◆ generate()

Heightmap eve::procgen::Heightmap::generate ( const TerrainSampler &  sampler,
int  width,
int  height 
)
static

Materialize a Heightmap by sampling sampler at every pixel center.

在文件 Heightmap.cpp 第 69 行定义.

引用了 fn, height, local, sampler, setHeight(), eve::procgen::TerrainSampler::setWorldSize(), width, x , 以及 y.

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

◆ getHeight()

int eve::procgen::Heightmap::getHeight ( ) const

Returns the height.

在文件 Heightmap.cpp 第 17 行定义.

被这些函数引用 eve::procgen::Procgen::adoptHeightmap(), eve::procgen::TerrainWaterField::advanceHydraulic(), eve::procgen::Procgen::analyzeTerrainScaled(), eve::procgen::TerrainDetailLayer::apply(), eve::procgen_editing::applyHeightmapBrush(), eve::procgen::applyTerrainDetailMultiTile(), eve::procgen::applyTerrainHeightCurve(), eve::procgen::applyTerrainLegacyDistributedErosion(), eve::procgen::applyTerrainLegacyHydraulic(), eve::procgen::applyTerrainLegacySteepestErosion(), eve::procgen::applyTerrainObjectsMultiTile(), eve::procgen::applyTerrainProbesMultiTile(), eve::procgen::applyTerrainSediment(), eve::procgen::applyTerrainStrength(), eve::procgen::applyTerrainThermal(), eve::procgen::applyTerrainTreesMultiTile(), eve::procgen::TerrainAsset::bake(), eve::procgen::bakeGtsColorMapAlbedo(), eve::procgen::bakeGtsGeologicalSurface(), eve::procgen::bakeGtsWeatherAlbedo(), eve::procgen::bakeGtsWeatherPbr(), eve::procgen::bakeTerrainCurveTexture(), eve::procgen::TerrainLakeMeshBuilder::build(), eve::procgen::TerrainRiverMeshBuilder::build(), eve::procgen::TerrainMeshBuilder::build(), eve::procgen::TerrainPipeline::buildClimate(), eve::procgen::buildGtsTerrainBaseMesh(), eve::procgen::TerrainPipeline::buildHydrology(), eve::procgen::convolveTerrainHeightmap(), eve::procgen::deriveTerrainSlope(), eve::procgen::encodeGtsMaskedTerrainObj(), eve::procgen::encodeGtsTerrainObj(), eve::heightmap_target::encodeTerrainDocument(), eve::procgen::TerrainPipeline::erodeFluvialDetailed(), eve::procgen::TerrainPipeline::erodeHydraulic(), eve::procgen::Procgen::erodeTerrainFluvialDetailed(), eve::procgen::Procgen::erodeTerrainFluvialScaled(), eve::procgen::Procgen::erodeTerrainHydraulic(), eve::procgen::Procgen::erodeTerrainThermal(), eve::procgen::TerrainPipeline::erodeThermal(), eve::procgen::TerrainMeshBuilder::estimateGeometricError(), eve::procgen::PcgRuntimeStamper::execute(), eve::procgen::exportTerrainObjectPoints(), eve::procgen::flipTerrainHeightmap(), eve::procgen::generateGtsGlobalBlendDistance(), eve::procgen::generateTerrainConcavityMask(), eve::procgen::generateTerrainCurvatureMask(), eve::procgen::generateTerrainImageMask(), eve::procgen::generateTerrainImageMaskFromImage(), eve::procgen::generateTerrainNoiseMask(), eve::procgen::growShrinkTerrainMask(), eve::procgen_editing::HeightmapTarget::height(), eve::procgen::SpatialData::heightfield(), eve::procgen::paintTerrainSplatLayerMultiTile(), eve::procgen::projectPointsToHeightmap(), eve::procgen::quantizeTerrainHeightmapTerraces(), eve::procgen::TerrainGenerationSession::Impl::rebuild(), eve::procgen::raster_detail::sample(), eve::procgen::TerrainLodSelector::select(), eve::procgen::stitchTerrainHeightmaps(), eve::procgen::raster_detail::textureSample() , 以及 eve::procgen::raster_detail::validRaster().

◆ getWidth()

int eve::procgen::Heightmap::getWidth ( ) const

Returns the width.

在文件 Heightmap.cpp 第 16 行定义.

被这些函数引用 eve::procgen::Procgen::adoptHeightmap(), eve::procgen::TerrainWaterField::advanceHydraulic(), eve::procgen::Procgen::analyzeTerrainScaled(), eve::procgen::TerrainDetailLayer::apply(), eve::procgen_editing::applyHeightmapBrush(), eve::procgen::applyTerrainDetailMultiTile(), eve::procgen::applyTerrainLegacyDistributedErosion(), eve::procgen::applyTerrainLegacyHydraulic(), eve::procgen::applyTerrainLegacySteepestErosion(), eve::procgen::applyTerrainObjectsMultiTile(), eve::procgen::applyTerrainProbesMultiTile(), eve::procgen::applyTerrainSediment(), eve::procgen::applyTerrainThermal(), eve::procgen::applyTerrainTreesMultiTile(), eve::procgen::TerrainAsset::bake(), eve::procgen::bakeGtsColorMapAlbedo(), eve::procgen::bakeGtsGeologicalSurface(), eve::procgen::bakeGtsWeatherAlbedo(), eve::procgen::bakeGtsWeatherPbr(), eve::procgen::TerrainLakeMeshBuilder::build(), eve::procgen::TerrainRiverMeshBuilder::build(), eve::procgen::TerrainMeshBuilder::build(), eve::procgen::TerrainPipeline::buildClimate(), eve::procgen::buildGtsTerrainBaseMesh(), eve::procgen::TerrainPipeline::buildHydrology(), eve::procgen::convolveTerrainHeightmap(), eve::procgen::deriveTerrainSlope(), eve::procgen::encodeGtsMaskedTerrainObj(), eve::procgen::encodeGtsTerrainObj(), eve::heightmap_target::encodeTerrainDocument(), eve::procgen::TerrainPipeline::erodeFluvialDetailed(), eve::procgen::TerrainPipeline::erodeHydraulic(), eve::procgen::Procgen::erodeTerrainFluvialDetailed(), eve::procgen::Procgen::erodeTerrainFluvialScaled(), eve::procgen::Procgen::erodeTerrainHydraulic(), eve::procgen::Procgen::erodeTerrainThermal(), eve::procgen::TerrainPipeline::erodeThermal(), eve::procgen::TerrainMeshBuilder::estimateGeometricError(), eve::procgen::PcgRuntimeStamper::execute(), eve::procgen::exportTerrainObjectPoints(), eve::procgen::flipTerrainHeightmap(), eve::procgen::generateGtsGlobalBlendDistance(), eve::procgen::generateTerrainConcavityMask(), eve::procgen::SpatialData::heightfield(), eve::procgen::paintTerrainSplatLayerMultiTile(), eve::procgen::projectPointsToHeightmap(), eve::procgen::quantizeTerrainHeightmapTerraces(), eve::procgen::TerrainGenerationSession::Impl::rebuild(), eve::procgen::raster_detail::sample(), eve::procgen::TerrainLodSelector::select(), eve::procgen::stitchTerrainHeightmaps(), eve::procgen::raster_detail::textureSample(), eve::procgen::raster_detail::validRaster() , 以及 eve::procgen_editing::HeightmapTarget::width().

◆ height()

◆ inBounds()

bool eve::procgen::Heightmap::inBounds ( int  x,
int  y 
) const

In bounds.

在文件 Heightmap.cpp 第 19 行定义.

引用了 x , 以及 y.

被这些函数引用 eve::procgen_editing::HeightmapTarget::containsCell(), height() , 以及 setHeight().

◆ resize()

void eve::procgen::Heightmap::resize ( int  width,
int  height 
)

◆ sampleBilinear()

float eve::procgen::Heightmap::sampleBilinear ( float  x,
float  y 
) const

Bilinear height at continuous coordinate within [0, w) x [0, h).

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

引用了 top, x , 以及 y.

被这些函数引用 eve::procgen::encodeGtsMaskedTerrainObj(), eve::procgen::projectPointsToHeightmap() , 以及 eve::procgen_editing::HeightmapTarget::sampleScalar().

◆ sampleBilinearSeamless()

float eve::procgen::Heightmap::sampleBilinearSeamless ( float  x,
float  y 
) const

Bilinear height with wrap-around (seamless tiling).

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

引用了 px, py, top, x , 以及 y.

◆ setHeight()

◆ toGrid()

bool eve::procgen::Heightmap::toGrid ( Grid2D &  out,
const TerrainBands &  bands 
) const

Classify heights into a semantic Grid2D (source for tilemap generation).

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

引用了 eve::procgen::Grid2D::resize(), eve::procgen::TerrainBands::semanticAt(), eve::procgen::Grid2D::setCell(), x , 以及 y.


该类的文档由以下文件生成: