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::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.