HighMap library (C++)
Loading...
Searching...
No Matches
authoring.hpp File Reference

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.