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]
|
default |
◆ Heightmap() [2/2]
| eve::procgen::Heightmap::Heightmap | ( | int | width, |
| int | height | ||
| ) |
成员函数说明
◆ data() [1/2]
|
inline |
Mutable row-major samples for terrain processing and asset import.
在文件 Heightmap.h 第 50 行定义.
◆ data() [2/2]
|
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()
|
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.
◆ 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()
| float eve::procgen::Heightmap::height | ( | int | x, |
| int | y | ||
| ) | const |
Height.
在文件 Heightmap.cpp 第 28 行定义.
引用了 inBounds(), x , 以及 y.
被这些函数引用 eve::procgen_editing::applyHeightmapBrush(), eve::procgen::applyTerrainObjectsMultiTile(), eve::procgen::applyTerrainProbesMultiTile(), eve::procgen::applyTerrainSediment(), eve::procgen::applyTerrainTreesMultiTile(), eve::procgen::bakeGtsColorMapAlbedo(), eve::procgen::bakeGtsDetailSurface(), eve::procgen::bakeGtsGeologicalSurface(), eve::procgen::bakeGtsWeatherAlbedo(), eve::procgen::bakeGtsWeatherPbr(), eve::procgen::TerrainLakeMeshBuilder::build(), eve::procgen::TerrainRiverMeshBuilder::build(), eve::procgen::TerrainMeshBuilder::build(), eve::procgen::buildGtsTerrainBaseMesh(), eve::procgen::convolveTerrainHeightmap(), eve::procgen::deriveTerrainSlope(), eve::procgen::encodeGtsTerrainObj(), eve::procgen::TerrainMeshBuilder::estimateGeometricError(), eve::procgen::exportTerrainObjectPoints(), eve::procgen::generateGtsGlobalBlendDistance(), eve::procgen::generateTerrainConcavityMask(), eve::procgen::SpatialData::heightfield(), eve::procgen::paintTerrainSplatLayerMultiTile(), eve::procgen::quantizeTerrainHeightmapTerraces(), eve::procgen_editing::HeightmapTarget::readScalar(), eve::procgen::raster_detail::sample(), eve::procgen::stitchTerrainHeightmaps(), eve::procgen::raster_detail::textureSample() , 以及 eve::procgen_editing::HeightmapTarget::writeScalar().
◆ inBounds()
| bool eve::procgen::Heightmap::inBounds | ( | int | x, |
| int | y | ||
| ) | const |
In bounds.
在文件 Heightmap.cpp 第 19 行定义.
被这些函数引用 eve::procgen_editing::HeightmapTarget::containsCell(), height() , 以及 setHeight().
◆ resize()
| void eve::procgen::Heightmap::resize | ( | int | width, |
| int | height | ||
| ) |
Resize.
在文件 Heightmap.cpp 第 10 行定义.
被这些函数引用 eve::weather::applySnowToHeightmap(), eve::heightmap_target::decodeTerrainDocument(), Heightmap() , 以及 eve::procgen::TerrainAsset::loadChunk().
◆ 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 行定义.
被这些函数引用 eve::procgen::encodeGtsMaskedTerrainObj(), eve::procgen::projectPointsToHeightmap() , 以及 eve::procgen_editing::HeightmapTarget::sampleScalar().
◆ sampleBilinearSeamless()
| float eve::procgen::Heightmap::sampleBilinearSeamless | ( | float | x, |
| float | y | ||
| ) | const |
◆ setHeight()
| void eve::procgen::Heightmap::setHeight | ( | int | x, |
| int | y, | ||
| float | h | ||
| ) |
Sets the height.
在文件 Heightmap.cpp 第 23 行定义.
引用了 h, inBounds(), x , 以及 y.
被这些函数引用 eve::procgen_editing::applyHeightmapBrush(), eve::weather::applySnowToHeightmap(), eve::procgen::bakeGtsDetailSurface(), eve::procgen::bakeGtsWeatherPbr(), eve::procgen::road::conformHeightmapToRoadWithReceipt(), eve::procgen::PcgRuntimeStamper::execute(), eve::procgen::flipTerrainHeightmap(), generate(), eve::asset_procgen::EvpackTerrainLoader::load(), eve::procgen::road::restoreHeightmapFromRoad(), eve::procgen::stitchTerrainHeightmaps() , 以及 eve::procgen_editing::HeightmapTarget::writeScalar().
◆ 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.
该类的文档由以下文件生成:
- src/modules/procgen/heightmap/Heightmap.h
- src/modules/procgen/heightmap/Heightmap.cpp