64 int flattening_radius = 16,
65 bool force_downhill =
false,
66 glm::vec4 bbox = {0.f, 1.f, 0.f, 1.f},
100 const std::vector<Path> &path_list,
101 float riverbank_talus,
103 int merging_width = 0,
105 float riverbed_talus = 0.f,
106 float noise_ratio = 0.9f,
108 Array *p_mask =
nullptr);
112 float riverbank_talus,
114 int merging_width = 0,
116 float riverbed_talus = 0.f,
117 float noise_ratio = 0.9f,
119 Array *p_mask =
nullptr);
150 float bottom_extent = 32.f,
153 float falloff_distance = 128.f,
154 float outer_slope = 0.1f,
155 bool preserve_bedshape =
true,
157 float radial_profile_parameter = 2.f,
158 Array *p_falloff_mask =
nullptr,
159 const Array *p_noise_r =
nullptr,
160 glm::vec4 bbox = {0.f, 1.f, 0.f, 1.f});
218 bool enable_width_depth_scaling =
true,
219 bool enable_width_distance_scaling =
true,
220 bool enable_width_curvature_scaling =
false,
221 float curvature_radius_min = 1.f,
222 float curv_width_ratio_min = 0.5f,
223 float curv_width_ratio_max = 2.f,
225 float radial_profile_parameter = 2.f,
228 float elevation_shift = -0.05f,
229 float shift_ramp_start_ratio = 0.f,
230 float shift_ramp_end_ratio = 0.f,
231 float min_slope = 0.001f,
232 size_t k_neighbors = 8,
233 const Array *p_noise_r =
nullptr,
234 Array *p_bending_mask =
nullptr,
235 glm::vec4 bbox = {0.f, 1.f, 0.f, 1.f});
unsigned int uint
Definition array.hpp:14
Header file for boundary condition functions and utilities.
Definition algebra.hpp:23
void trench(Array &z, const Path &path, float width, bool enable_width_depth_scaling=true, bool enable_width_distance_scaling=true, bool enable_width_curvature_scaling=false, float curvature_radius_min=1.f, float curv_width_ratio_min=0.5f, float curv_width_ratio_max=2.f, RadialProfile radial_profile=RadialProfile::RP_SMOOTHSTEP_UPPER, float radial_profile_parameter=2.f, ElevationLongitudinalProfile longitudinal_profile=ElevationLongitudinalProfile::ELP_DECREASING, float elevation_shift=-0.05f, float shift_ramp_start_ratio=0.f, float shift_ramp_end_ratio=0.f, float min_slope=0.001f, size_t k_neighbors=8, const Array *p_noise_r=nullptr, Array *p_bending_mask=nullptr, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f})
Carves a trench along a given path into a heightmap.
Definition trench.cpp:19
ElevationLongitudinalProfile
Definition carving.hpp:14
@ ELP_UNCHANGED
Definition carving.hpp:15
@ ELP_INCREASING
Definition carving.hpp:18
@ ELP_DECREASING
Definition carving.hpp:17
@ ELP_FLAT
Definition carving.hpp:16
RadialProfile
Radial profile type.
Definition math.hpp:66
@ RP_GAIN
Definition math.hpp:67
@ RP_SMOOTHSTEP_UPPER
Definition math.hpp:71
void dig_path(Array &z, Path &path, int width=1, int decay=2, int flattening_radius=16, bool force_downhill=false, glm::vec4 bbox={0.f, 1.f, 0.f, 1.f}, float depth=0.f)
Dig a path on a heightmap.
Definition dig_path.cpp:13
void 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.
Definition flatbed_carve.cpp:110
void dig_river(Array &z, const std::vector< Path > &path_list, float riverbank_talus, int river_width=0, int merging_width=0, float depth=0.f, float riverbed_talus=0.f, float noise_ratio=0.9f, uint seed=0, Array *p_mask=nullptr)
Modifies the elevation array to carve a river along a specified path.
Definition dig_river.cpp:12
Path class for manipulating and analyzing paths in 2D space.