|
HighMap library (C++)
|
Go to the source code of this file.
Namespaces | |
| namespace | hmap |
Enumerations | |
| enum | hmap::StampingBlendMethod : int { hmap::ADD , hmap::MAXIMUM , hmap::MAXIMUM_SMOOTH , hmap::MINIMUM , hmap::MINIMUM_SMOOTH , hmap::MULTIPLY , hmap::SUBSTRACT } |
| Blending method for the stamping operator. More... | |
Functions | |
| void | hmap::alter_elevation (Array &array, const Cloud &cloud, int ir, float footprint_ratio=1.f, glm::vec2 shift={0.f, 0.f}, glm::vec2 scale={1.f, 1.f}) |
| Point-wise alteration: locally enforce a new elevation value while maintaining the 'shape' of the heightmap. | |
| Array | hmap::base_elevation (glm::ivec2 shape, const std::vector< std::vector< float > > &values, float width_factor=1.f, const Array *p_noise_x=nullptr, const Array *p_noise_y=nullptr, const Array *p_stretching=nullptr, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}) |
| Generate a heightmap from a coarse grid of control points with defined elevation values. | |
| Array | hmap::flatbed_carve (glm::ivec2 shape, const Path &path, float bottom_extent=32.f, float vmin=0.1f, float depth=0.05f, float falloff_distance=128.f, float outer_slope=0.1f, bool preserve_bedshape=true, RadialProfile radial_profile=RadialProfile::RP_GAIN, float radial_profile_parameter=2.f, Array *p_falloff_mask=nullptr, const Array *p_noise_r=nullptr, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}) |
| Carves a flatbed shape along a path. | |
| void | hmap::flatbed_carve (Array &z, const Path &path, float bottom_extent=32.f, float vmin=0.1f, float depth=0.05f, float falloff_distance=128.f, float outer_slope=0.1f, bool preserve_bedshape=true, RadialProfile radial_profile=RadialProfile::RP_GAIN, float radial_profile_parameter=2.f, Array *p_falloff_mask=nullptr, const Array *p_noise_r=nullptr, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}) |
| Blends a flatbed carve into an existing heightmap. | |
| Array | hmap::reverse_midpoint (const Array &array, uint seed, float noise_scale=1.f, float threshold=0.f) |
| Apply the reverse midpoint displacement algorithm to the input array. | |
| Array | hmap::ridgelines (glm::ivec2 shape, const std::vector< float > &xr, const std::vector< float > &yr, const std::vector< float > &zr, float slope, float k_smoothing=1.f, float width=0.1f, float vmin=0.f, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}, const Array *p_noise_x=nullptr, const Array *p_noise_y=nullptr, const Array *p_stretching=nullptr, glm::vec4 bbox_array={0.f, 1.f, 0.f, 1.f}) |
| Generate a heightmap based on a set of ridgelines and a specified slope. | |
| Array | hmap::ridgelines_bezier (glm::ivec2 shape, const std::vector< float > &xr, const std::vector< float > &yr, const std::vector< float > &zr, float slope, float k_smoothing=1.f, float width=0.1f, float vmin=0.f, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}, const Array *p_noise_x=nullptr, const Array *p_noise_y=nullptr, const Array *p_stretching=nullptr, glm::vec4 bbox_array={0.f, 1.f, 0.f, 1.f}) |
| Generate a heightmap based on a set of ridgelines with quadratic Bezier interpolation. | |
| Array | hmap::stamping (glm::ivec2 shape, const std::vector< float > &xr, const std::vector< float > &yr, const std::vector< float > &zr, Array kernel, int kernel_ir, bool kernel_scale_radius, bool kernel_scale_amplitude, StampingBlendMethod blend_method, uint seed, float k_smoothing=0.1f, bool kernel_flip=true, bool kernel_rotate=false, glm::vec4 bbox_array={0.f, 1.f, 0.f, 1.f}) |
| Generate a heightmap by stamping a kernel at predefined locations. | |