├── .github └── workflows │ └── cmake.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── HighMap ├── CMakeLists.txt ├── include │ ├── highmap.hpp │ └── highmap │ │ ├── algebra.hpp │ │ ├── array.hpp │ │ ├── authoring.hpp │ │ ├── blending.hpp │ │ ├── boundary.hpp │ │ ├── colorize.hpp │ │ ├── colormaps.hpp │ │ ├── convolve.hpp │ │ ├── dbg │ │ ├── assert.hpp │ │ └── timer.hpp │ │ ├── erosion.hpp │ │ ├── export.hpp │ │ ├── features.hpp │ │ ├── filters.hpp │ │ ├── functions.hpp │ │ ├── geometry │ │ ├── cloud.hpp │ │ ├── edge.hpp │ │ ├── graph.hpp │ │ ├── grids.hpp │ │ ├── path.hpp │ │ └── point.hpp │ │ ├── gradient.hpp │ │ ├── heightmap.hpp │ │ ├── hydrology.hpp │ │ ├── internal │ │ ├── dendry_array_control_function.hpp │ │ ├── particles.hpp │ │ └── vector_utils.hpp │ │ ├── interpolate1d.hpp │ │ ├── interpolate2d.hpp │ │ ├── interpolate_curve.hpp │ │ ├── kernels.hpp │ │ ├── math.hpp │ │ ├── morphology.hpp │ │ ├── multiscale │ │ ├── downscaling.hpp │ │ ├── pyramid.hpp │ │ └── upscaling.hpp │ │ ├── opencl │ │ └── gpu_opencl.hpp │ │ ├── operator.hpp │ │ ├── primitives.hpp │ │ ├── range.hpp │ │ ├── roads.hpp │ │ ├── sdf.hpp │ │ ├── selector.hpp │ │ ├── shadows.hpp │ │ ├── shortest_path.hpp │ │ ├── synthesis.hpp │ │ ├── tensor.hpp │ │ ├── terrain │ │ └── terrain.hpp │ │ └── transform.hpp └── src │ ├── array │ ├── array.cpp │ ├── io.cpp │ ├── methods.cpp │ └── opencv_wrapper.cpp │ ├── authoring │ ├── alter_elevation.cpp │ ├── base_elevation.cpp │ ├── reverse_midpoint.cpp │ ├── ridgelines.cpp │ └── stamping.cpp │ ├── blending │ ├── blending.cpp │ └── blending_gpu.cpp │ ├── boundary │ └── boundary.cpp │ ├── colorize │ └── colorize.cpp │ ├── colormaps │ └── get_colormap_data.cpp │ ├── convolve │ ├── convolve.cpp │ └── convolve2d_svd.cpp │ ├── dbg │ ├── assert.cpp │ └── timer.cpp │ ├── erosion │ ├── deposition.cpp │ ├── depression_filling.cpp │ ├── erosion_gpu.cpp │ ├── erosion_maps.cpp │ ├── hydraulic_algebric.cpp │ ├── hydraulic_benes.cpp │ ├── hydraulic_blur.cpp │ ├── hydraulic_diffusion.cpp │ ├── hydraulic_musgrave.cpp │ ├── hydraulic_particle.cpp │ ├── hydraulic_particle_multiscale.cpp │ ├── hydraulic_procedural.cpp │ ├── hydraulic_schott_gpu.cpp │ ├── hydraulic_stream.cpp │ ├── hydraulic_stream_gpu.cpp │ ├── hydraulic_stream_upscale_amplification.cpp │ ├── hydraulic_vpipes.cpp │ ├── stratify.cpp │ ├── thermal.cpp │ ├── thermal_flatten.cpp │ ├── thermal_gpu.cpp │ ├── thermal_olsen.cpp │ ├── thermal_rib.cpp │ └── thermal_schott.cpp │ ├── export │ ├── export_as_cubemap.cpp │ ├── export_asset.cpp │ ├── export_banner_png.cpp │ ├── export_normal_map.cpp │ ├── export_splatmap.cpp │ ├── format_raw.cpp │ ├── helpers.cpp │ └── read_to_array.cpp │ ├── features │ ├── connected_components.cpp │ ├── curvature.cpp │ ├── curvature_gpu.cpp │ ├── features.cpp │ ├── features_gpu.cpp │ ├── geomorphons.cpp │ └── kmeans_clustering.cpp │ ├── filters │ ├── diffusion_retargeting.cpp │ ├── directional_blur.cpp │ ├── faceted.cpp │ ├── filters.cpp │ ├── filters_gpu.cpp │ ├── recast.cpp │ ├── recurve.cpp │ └── tesselate.cpp │ ├── geometry │ ├── cloud.cpp │ ├── graph.cpp │ ├── grid.cpp │ ├── path.cpp │ └── points.cpp │ ├── gpu_opencl │ ├── gpu_opencl.cpp │ └── kernels │ │ ├── _common_index.cl │ │ ├── _common_math.cl │ │ ├── _common_rand.cl │ │ ├── _common_sort.cl │ │ ├── blend_poisson_bf.cl │ │ ├── expand.cl │ │ ├── flow_direction_d8.cl │ │ ├── gabor_wave.cl │ │ ├── gavoronoise.cl │ │ ├── generate_riverbed.cl │ │ ├── gradient_norm.cl │ │ ├── hydraulic_particle.cl │ │ ├── hydraulic_schott.cl │ │ ├── laplace.cl │ │ ├── maximum_local.cl │ │ ├── maximum_smooth.cl │ │ ├── mean_local.cl │ │ ├── mean_shift.cl │ │ ├── median_3x3.cl │ │ ├── minimum_smooth.cl │ │ ├── mountain_range_radial.cl │ │ ├── noise.cl │ │ ├── normal_displacement.cl │ │ ├── plateau.cl │ │ ├── ruggedness.cl │ │ ├── rugosity.cl │ │ ├── sdf_2d_polyline.cl │ │ ├── skeleton.cl │ │ ├── smooth_cpulse.cl │ │ ├── thermal.cl │ │ ├── thermal_inflate.cl │ │ ├── thermal_ridge.cl │ │ ├── thermal_scree.cl │ │ ├── voronoi.cl │ │ ├── voronoi_edge_distance.cl │ │ ├── voronoise.cl │ │ └── warp.cl │ ├── gradient │ ├── gradient.cpp │ ├── gradient_gpu.cpp │ ├── normal_map.cpp │ ├── phase_field.cpp │ └── unwrap_phase.cpp │ ├── heightmap │ ├── heightmap_base.cpp │ ├── heightmap_rgb.cpp │ ├── heightmap_rgba.cpp │ ├── heightmap_transform.cpp │ └── tile_base.cpp │ ├── hydrology │ ├── find_flow_sinks.cpp │ ├── flooding_from_point.cpp │ ├── flow_accumulation_d8.cpp │ ├── flow_accumulation_d8_gpu.cpp │ ├── flow_accumulation_dinf.cpp │ ├── flow_stream.cpp │ ├── generate_riverbed.cpp │ └── generate_riverbed_gpu.cpp │ ├── interpolate │ ├── interpolate1d.cpp │ ├── interpolate2d.cpp │ └── interpolate_curve.cpp │ ├── math │ ├── distance_function.cpp │ ├── math.cpp │ └── phasor_profile_function.cpp │ ├── morphology │ ├── distance_transform.cpp │ ├── distance_transform_approx.cpp │ ├── morphology.cpp │ └── morphology_gpu.cpp │ ├── multiscale │ ├── downscale_transform.cpp │ ├── pyramid_decomposition.cpp │ └── upscale_amplification.cpp │ ├── operator │ ├── detrend.cpp │ ├── fill_array.cpp │ ├── inpainting_gaussian.cpp │ ├── operator.cpp │ ├── stitching_helpers.cpp │ ├── vector.cpp │ └── vector_utils.cpp │ ├── particles │ └── particles.cpp │ ├── primitives │ ├── checkerboard.cpp │ ├── dendry.cpp │ ├── diffusion_limited_aggregation.cpp │ ├── functions │ │ ├── fbm_functions.cpp │ │ ├── field_function.cpp │ │ ├── functions.cpp │ │ ├── noise_functions.cpp │ │ └── parberry_function.cpp │ ├── gabor.cpp │ ├── geo.cpp │ ├── kernels.cpp │ ├── noise.cpp │ ├── phasor.cpp │ ├── primitives.cpp │ ├── primitives_gpu.cpp │ ├── swirl.cpp │ ├── wave.cpp │ ├── white.cpp │ └── worley.cpp │ ├── range │ ├── range.cpp │ └── range_cpu.cpp │ ├── roads │ └── alpha_model.cpp │ ├── sdf │ ├── sdf_2d_polyline.cpp │ └── sdf_2d_polyline_gpu.cpp │ ├── selector │ ├── selector.cpp │ └── selector_gpu.cpp │ ├── shadows │ └── shadows.cpp │ ├── shortest_path │ └── dijsktra.cpp │ ├── synthesis │ ├── non_parameteric_sampling.cpp │ └── quilting.cpp │ ├── tensor │ └── tensor.cpp │ ├── terrain │ ├── projections.cpp │ └── terrain.cpp │ └── transform │ ├── transform.cpp │ ├── warp.cpp │ └── warp_gpu.cpp ├── LICENSE ├── README.md ├── doc ├── CMakeLists.txt ├── bib │ └── references.bib ├── doxygen │ └── Doxyfile.in ├── images │ ├── ex_abs_smooth.png │ ├── ex_alter_elevation.png │ ├── ex_array_interp.png │ ├── ex_base_elevation.png │ ├── ex_biquad_pulse.png │ ├── ex_blend0.png │ ├── ex_blend1.png │ ├── ex_blend2.png │ ├── ex_blend3.png │ ├── ex_blend4.png │ ├── ex_blend_poisson_bf.png │ ├── ex_bump.png │ ├── ex_bump_field.png │ ├── ex_caldera.png │ ├── ex_checkerboard.png │ ├── ex_clamp.png │ ├── ex_cloud_get_convex_hull.png │ ├── ex_cloud_sdf.png │ ├── ex_cloud_to_array_interp.png │ ├── ex_colorize_histrogram.png │ ├── ex_colorize_slope_height_heatmap.png │ ├── ex_colorize_vec2.png │ ├── ex_colormaps0.png │ ├── ex_colormaps1.png │ ├── ex_colormaps10.png │ ├── ex_colormaps2.png │ ├── ex_colormaps3.png │ ├── ex_colormaps4.png │ ├── ex_colormaps5.png │ ├── ex_colormaps6.png │ ├── ex_colormaps7.png │ ├── ex_colormaps8.png │ ├── ex_colormaps9.png │ ├── ex_connected_components0.png │ ├── ex_connected_components1.png │ ├── ex_convolve1d_ij.png │ ├── ex_convolve2d_svd.png │ ├── ex_convolve2d_svd_rotated_kernel.png │ ├── ex_cracks.png │ ├── ex_crater.png │ ├── ex_cubic_pulse_truncated.png │ ├── ex_curvature_gaussian0.png │ ├── ex_curvature_gaussian1.png │ ├── ex_curvature_gaussian2.png │ ├── ex_curvature_gaussian3.png │ ├── ex_curvature_gaussian4.png │ ├── ex_curvature_gaussian5.png │ ├── ex_dendry.png │ ├── ex_depression_filling.png │ ├── ex_detrend.png │ ├── ex_diffusion_limited_aggregation.png │ ├── ex_diffusion_retargeting.png │ ├── ex_dig_path.png │ ├── ex_directional_blur.png │ ├── ex_disk.png │ ├── ex_distance_transform0.png │ ├── ex_distance_transform1.png │ ├── ex_distance_transform2.png │ ├── ex_distance_transform3.png │ ├── ex_downscale_transform.png │ ├── ex_downscale_transform_multi.png │ ├── ex_erosions_maps0.png │ ├── ex_erosions_maps1.png │ ├── ex_expand.png │ ├── ex_expand_directional.png │ ├── ex_export_as_cubemap.png │ ├── ex_export_splatmap_png_16bit0.png │ ├── ex_export_splatmap_png_16bit1.png │ ├── ex_faceted.png │ ├── ex_falloff.png │ ├── ex_fbm0.png │ ├── ex_fbm1.png │ ├── ex_fbm2.png │ ├── ex_fbm_iq.png │ ├── ex_fbm_iq_perlin.png │ ├── ex_fbm_jordan.png │ ├── ex_fbm_perlin.png │ ├── ex_fbm_perlin_advanced.png │ ├── ex_fbm_swiss.png │ ├── ex_fft_filter.png │ ├── ex_fft_modulus.png │ ├── ex_fill_array_using_xy_function.png │ ├── ex_fill_talus.png │ ├── ex_find_path.png │ ├── ex_find_path_dijkstra0.png │ ├── ex_find_path_dijkstra1.png │ ├── ex_find_path_dijkstra2.png │ ├── ex_flip_ud.png │ ├── ex_flood_fill.png │ ├── ex_flooding_from_point.png │ ├── ex_flow_accumulation_d80.png │ ├── ex_flow_accumulation_d81.png │ ├── ex_flow_accumulation_dinf0.png │ ├── ex_flow_accumulation_dinf1.png │ ├── ex_flow_stream.png │ ├── ex_fold.png │ ├── ex_gabor.png │ ├── ex_gabor_noise.png │ ├── ex_gabor_wave.png │ ├── ex_gain.png │ ├── ex_gamma_correction.png │ ├── ex_gamma_correction_local.png │ ├── ex_gaussian_decay.png │ ├── ex_gaussian_pulse.png │ ├── ex_gavoronoise.png │ ├── ex_generate_network_alpha_model0.png │ ├── ex_generate_network_alpha_model1.png │ ├── ex_generate_network_alpha_model2.png │ ├── ex_geomorphons0.png │ ├── ex_geomorphons1.png │ ├── ex_gpu_maximum_local_weighted.png │ ├── ex_gpu_median_3x3.png │ ├── ex_gpu_simplex.png │ ├── ex_gpu_voronoise.png │ ├── ex_gradient_norm.png │ ├── ex_graph0.png │ ├── ex_graph_minimum_spanning_tree_prim0.png │ ├── ex_graph_minimum_spanning_tree_prim1.png │ ├── ex_graph_sdf.png │ ├── ex_grid_from_array.png │ ├── ex_heightmap_fill0.png │ ├── ex_heightmap_fill1.png │ ├── ex_heightmap_from_array0.png │ ├── ex_heightmap_from_array1.png │ ├── ex_heightmap_rgb0.png │ ├── ex_heightmap_rgb1.png │ ├── ex_heightmap_rgb2.png │ ├── ex_heightmap_rgb3.png │ ├── ex_heightmap_rgb4.png │ ├── ex_heightmap_rgb5.png │ ├── ex_heightmap_rgba0.png │ ├── ex_heightmap_rgba1.png │ ├── ex_heightmap_rgba2.png │ ├── ex_heightmap_rgba3.png │ ├── ex_heightmap_rgba4.png │ ├── ex_hillshade0.png │ ├── ex_hillshade1.png │ ├── ex_hybrid_fbm_perlin.png │ ├── ex_hydraulic_algebric.png │ ├── ex_hydraulic_benes.png │ ├── ex_hydraulic_blur.png │ ├── ex_hydraulic_diffusion.png │ ├── ex_hydraulic_musgrave.png │ ├── ex_hydraulic_particle0.png │ ├── ex_hydraulic_particle1.png │ ├── ex_hydraulic_particle_multiscale0.png │ ├── ex_hydraulic_particle_multiscale1.png │ ├── ex_hydraulic_procedural0.png │ ├── ex_hydraulic_procedural1.png │ ├── ex_hydraulic_schott.png │ ├── ex_hydraulic_stream0.png │ ├── ex_hydraulic_stream1.png │ ├── ex_hydraulic_stream_upscale_amplification.png │ ├── ex_hydraulic_vpipes.png │ ├── ex_inpainting_diffusion.png │ ├── ex_interpolate1d_0.png │ ├── ex_interpolate1d_1.png │ ├── ex_interpolate1d_2.png │ ├── ex_interpolate2d.png │ ├── ex_interpolate_curve.png │ ├── ex_kernels.png │ ├── ex_kmeans_clustering0.png │ ├── ex_kmeans_clustering1.png │ ├── ex_kmeans_clustering2.png │ ├── ex_kmeans_clustering3.png │ ├── ex_kmeans_clustering4.png │ ├── ex_kmeans_clustering5.png │ ├── ex_kuwahara.png │ ├── ex_laplace.png │ ├── ex_low_pass_high_order.png │ ├── ex_make_periodic0.png │ ├── ex_make_periodic1.png │ ├── ex_make_periodic_stitching0.png │ ├── ex_make_periodic_stitching1.png │ ├── ex_make_periodic_tiling.png │ ├── ex_match_histogram.png │ ├── ex_maximum_local.png │ ├── ex_mean_local0.png │ ├── ex_mean_local1.png │ ├── ex_mean_shift.png │ ├── ex_median_3x3.png │ ├── ex_mix_normal_map_rgba0.png │ ├── ex_mix_normal_map_rgba1.png │ ├── ex_mix_normal_map_rgba2.png │ ├── ex_mix_normal_map_rgba3.png │ ├── ex_mix_normal_map_rgba4.png │ ├── ex_mix_normal_map_rgba5.png │ ├── ex_mix_normal_map_rgba6.png │ ├── ex_mixer.png │ ├── ex_morphology_base.png │ ├── ex_mountain_range_radial.png │ ├── ex_multifractal_perlin.png │ ├── ex_noise_fbm0.png │ ├── ex_noise_fbm1.png │ ├── ex_noise_fbm2.png │ ├── ex_noise_fbm3.png │ ├── ex_noise_fbm4.png │ ├── ex_noise_fbm5.png │ ├── ex_noise_fbm6.png │ ├── ex_non_parametric_sampling.png │ ├── ex_normal_displacement.png │ ├── ex_normal_map_to_heightmap.png │ ├── ex_paraboloid.png │ ├── ex_path.png │ ├── ex_path_bezier.png │ ├── ex_path_bezier_round.png │ ├── ex_path_bspline.png │ ├── ex_path_catmullrom.png │ ├── ex_path_decasteljau.png │ ├── ex_path_decimate.png │ ├── ex_path_dijkstra.png │ ├── ex_path_flood_fill.png │ ├── ex_path_fractalize.png │ ├── ex_path_meanderize.png │ ├── ex_path_sdf.png │ ├── ex_path_smooth.png │ ├── ex_path_to_array_gaussian.png │ ├── ex_path_to_array_polygon.png │ ├── ex_path_to_array_range.png │ ├── ex_peak.png │ ├── ex_perlin.png │ ├── ex_phase_field.png │ ├── ex_phasor.png │ ├── ex_plateau.png │ ├── ex_point_interp.png │ ├── ex_pyramid_decomposition0.png │ ├── ex_pyramid_decomposition1.png │ ├── ex_quilting0.png │ ├── ex_quilting1.png │ ├── ex_quilting2.png │ ├── ex_quilting3.png │ ├── ex_quilting4.png │ ├── ex_radial_displacement_to_xy.png │ ├── ex_random_grid.png │ ├── ex_recast.png │ ├── ex_rectangle.png │ ├── ex_recurve.png │ ├── ex_recurve_xxx.png │ ├── ex_relative_elevation.png │ ├── ex_resample_to_shape.png │ ├── ex_rescale.png │ ├── ex_reverse_midpoint.png │ ├── ex_ridged_perlin.png │ ├── ex_ridgelines.png │ ├── ex_ridgelines_bezier.png │ ├── ex_rift.png │ ├── ex_rot90.png │ ├── ex_rotate.png │ ├── ex_ruggedness0.png │ ├── ex_ruggedness1.png │ ├── ex_rugosity0.png │ ├── ex_rugosity1.png │ ├── ex_saturate.png │ ├── ex_scan_mask.png │ ├── ex_sdf.png │ ├── ex_sdf_polyline.png │ ├── ex_sediment_deposition.png │ ├── ex_sediment_deposition_particle.png │ ├── ex_sediment_layer.png │ ├── ex_select0.png │ ├── ex_select1.png │ ├── ex_select2.png │ ├── ex_select3.png │ ├── ex_select4.png │ ├── ex_select_angle.png │ ├── ex_select_blob0.png │ ├── ex_select_blob1.png │ ├── ex_select_cavities.png │ ├── ex_select_elevation_slope0.png │ ├── ex_select_elevation_slope1.png │ ├── ex_select_inward_outward_slope.png │ ├── ex_select_midrange.png │ ├── ex_select_multiband3.png │ ├── ex_select_pulse.png │ ├── ex_select_rivers.png │ ├── ex_select_transitions0.png │ ├── ex_select_transitions1.png │ ├── ex_select_transitions2.png │ ├── ex_select_valley.png │ ├── ex_set_borders.png │ ├── ex_sharpen.png │ ├── ex_sharpen_clone.png │ ├── ex_simplex.png │ ├── ex_skeleton.png │ ├── ex_slope.png │ ├── ex_smooth_cone.png │ ├── ex_smooth_cpulse.png │ ├── ex_smooth_fill.png │ ├── ex_smooth_fill_holes.png │ ├── ex_smooth_gaussian.png │ ├── ex_smoothstep.png │ ├── ex_smoothstep_local.png │ ├── ex_stamping0.png │ ├── ex_stamping1.png │ ├── ex_stamping2.png │ ├── ex_steepen.png │ ├── ex_steepen_convective.png │ ├── ex_step.png │ ├── ex_stratify.png │ ├── ex_stratify_multiscale.png │ ├── ex_swirl.png │ ├── ex_terrace.png │ ├── ex_tessellate.png │ ├── ex_thermal.png │ ├── ex_thermal_auto_bedrock.png │ ├── ex_thermal_flatten.png │ ├── ex_thermal_rib.png │ ├── ex_thermal_ridge.png │ ├── ex_thermal_schott.png │ ├── ex_to_png.png │ ├── ex_translate.png │ ├── ex_unwrap_phase.png │ ├── ex_valley_width0.png │ ├── ex_valley_width1.png │ ├── ex_value_noise.png │ ├── ex_value_noise_delaunay.png │ ├── ex_value_noise_linear.png │ ├── ex_value_noise_thinplate.png │ ├── ex_voronoi.png │ ├── ex_voronoi_edge_distance.png │ ├── ex_voronoise.png │ ├── ex_warp.png │ ├── ex_warp_directional.png │ ├── ex_warp_downslope.png │ ├── ex_wave0.png │ ├── ex_wave1.png │ ├── ex_white.png │ ├── ex_white_density_map.png │ ├── ex_white_sparse.png │ ├── ex_worley.png │ ├── ex_worley_double.png │ ├── ex_worley_polyline.png │ ├── ex_wrinkle.png │ ├── ex_zeroed_edges.png │ ├── ex_zoom.png │ └── illustrations │ │ └── dem_example_rendered.png └── index.md ├── examples ├── CMakeLists.txt ├── ex_abs_smooth │ ├── CMakeLists.txt │ └── ex_abs_smooth.cpp ├── ex_alter_elevation │ ├── CMakeLists.txt │ └── ex_alter_elevation.cpp ├── ex_array │ ├── CMakeLists.txt │ └── ex_array.cpp ├── ex_array_interp │ ├── CMakeLists.txt │ └── ex_array_interp.cpp ├── ex_base_elevation │ ├── CMakeLists.txt │ └── ex_base_elevation.cpp ├── ex_biquad_pulse │ ├── CMakeLists.txt │ └── ex_biquad_pulse.cpp ├── ex_blend │ ├── CMakeLists.txt │ └── ex_blend.cpp ├── ex_blend_poisson_bf │ ├── CMakeLists.txt │ └── ex_blend_poisson_bf.cpp ├── ex_bump │ ├── CMakeLists.txt │ └── ex_bump.cpp ├── ex_caldera │ ├── CMakeLists.txt │ └── ex_caldera.cpp ├── ex_checkerboard │ ├── CMakeLists.txt │ └── ex_checkerboard.cpp ├── ex_clamp │ ├── CMakeLists.txt │ └── ex_clamp.cpp ├── ex_cloud_get_convex_hull │ ├── CMakeLists.txt │ └── ex_cloud_get_convex_hull.cpp ├── ex_cloud_sdf │ ├── CMakeLists.txt │ └── ex_cloud_sdf.cpp ├── ex_cloud_to_array_interp │ ├── CMakeLists.txt │ └── ex_cloud_to_array_interp.cpp ├── ex_colorize_histogram │ ├── CMakeLists.txt │ └── ex_colorize_histogram.cpp ├── ex_colorize_slope_height_heatmap │ ├── CMakeLists.txt │ └── ex_colorize_slope_height_heatmap.cpp ├── ex_colorize_vec2 │ ├── CMakeLists.txt │ └── ex_colorize_vec2.cpp ├── ex_colormaps │ ├── CMakeLists.txt │ └── ex_colormaps.cpp ├── ex_colormaps_trivariate │ ├── CMakeLists.txt │ └── ex_colormaps_trivariate.cpp ├── ex_connected_components │ ├── CMakeLists.txt │ └── ex_connected_components.cpp ├── ex_convolve1d_ij │ ├── CMakeLists.txt │ └── ex_convolve1d_ij.cpp ├── ex_convolve2d_svd │ ├── CMakeLists.txt │ └── ex_convolve2d_svd.cpp ├── ex_convolve2d_svd_rotated_kernel │ ├── CMakeLists.txt │ └── ex_convolve2d_svd_rotated_kernel.cpp ├── ex_cracks │ ├── CMakeLists.txt │ └── ex_cracks.cpp ├── ex_crater │ ├── CMakeLists.txt │ └── ex_crater.cpp ├── ex_cubic_pulse_truncated │ ├── CMakeLists.txt │ └── ex_cubic_pulse_truncated.cpp ├── ex_curvature_gaussian │ ├── CMakeLists.txt │ └── ex_curvature_gaussian.cpp ├── ex_dendry │ ├── CMakeLists.txt │ └── ex_dendry.cpp ├── ex_detrend │ ├── CMakeLists.txt │ └── ex_detrend.cpp ├── ex_diffusion_limited_aggregation │ ├── CMakeLists.txt │ └── ex_diffusion_limited_aggregation.cpp ├── ex_diffusion_retargeting │ ├── CMakeLists.txt │ └── ex_diffusion_retargeting.cpp ├── ex_dig_path │ ├── CMakeLists.txt │ └── ex_dig_path.cpp ├── ex_directional_blur │ ├── CMakeLists.txt │ └── ex_directional_blur.cpp ├── ex_disk │ ├── CMakeLists.txt │ └── ex_disk.cpp ├── ex_distance_transform │ ├── CMakeLists.txt │ └── ex_distance_transform.cpp ├── ex_downscale_transform │ ├── CMakeLists.txt │ └── ex_downscale_transform.cpp ├── ex_downscale_transform_multi │ ├── CMakeLists.txt │ └── ex_downscale_transform_multi.cpp ├── ex_erosion_maps │ ├── CMakeLists.txt │ └── ex_erosion_maps.cpp ├── ex_expand │ ├── CMakeLists.txt │ └── ex_expand.cpp ├── ex_expand_directional │ ├── CMakeLists.txt │ └── ex_expand_directional.cpp ├── ex_export_as_cubemap │ ├── CMakeLists.txt │ └── ex_export_as_cubemap.cpp ├── ex_export_asset │ ├── CMakeLists.txt │ └── ex_export_asset.cpp ├── ex_export_normal_map │ ├── CMakeLists.txt │ └── ex_export_normal_map.cpp ├── ex_export_splatmap_png_16bit │ ├── CMakeLists.txt │ └── ex_export_splatmap_png_16bit.cpp ├── ex_faceted │ ├── CMakeLists.txt │ └── ex_faceted.cpp ├── ex_falloff │ ├── CMakeLists.txt │ └── ex_falloff.cpp ├── ex_field_function │ ├── CMakeLists.txt │ └── ex_field_function.cpp ├── ex_fill_array_using_xy_function │ ├── CMakeLists.txt │ └── ex_fill_array_using_xy_function.cpp ├── ex_fill_talus │ ├── CMakeLists.txt │ └── ex_fill_talus.cpp ├── ex_find_flow_sinks │ ├── CMakeLists.txt │ └── ex_find_flow_sinks.cpp ├── ex_find_path │ ├── CMakeLists.txt │ └── ex_find_path.cpp ├── ex_find_path_dijkstra │ ├── CMakeLists.txt │ └── ex_find_path_dijkstra.cpp ├── ex_flip_ud │ ├── CMakeLists.txt │ └── ex_flip_ud.cpp ├── ex_flood_fill │ ├── CMakeLists.txt │ └── ex_flood_fill.cpp ├── ex_flooding_from_point │ ├── CMakeLists.txt │ └── ex_flooding_from_point.cpp ├── ex_flow_accumulation_d8 │ ├── CMakeLists.txt │ └── ex_flow_accumulation_d8.cpp ├── ex_flow_accumulation_dinf │ ├── CMakeLists.txt │ └── ex_flow_accumulation_dinf.cpp ├── ex_flow_stream │ ├── CMakeLists.txt │ └── ex_flow_stream.cpp ├── ex_fold │ ├── CMakeLists.txt │ └── ex_fold.cpp ├── ex_from_cv_mat │ ├── CMakeLists.txt │ └── ex_from_cv_mat.cpp ├── ex_from_numpy │ ├── CMakeLists.txt │ └── ex_from_numpy.cpp ├── ex_gabor │ ├── CMakeLists.txt │ └── ex_gabor.cpp ├── ex_gabor_dune │ ├── CMakeLists.txt │ └── ex_gabor_dune.cpp ├── ex_gabor_noise │ ├── CMakeLists.txt │ └── ex_gabor_noise.cpp ├── ex_gabor_wave │ ├── CMakeLists.txt │ └── ex_gabor_wave.cpp ├── ex_gain │ ├── CMakeLists.txt │ └── ex_gain.cpp ├── ex_gamma_correction │ ├── CMakeLists.txt │ └── ex_gamma_correction.cpp ├── ex_gamma_correction_local │ ├── CMakeLists.txt │ └── ex_gamma_correction_local.cpp ├── ex_gaussian_decay │ ├── CMakeLists.txt │ └── ex_gaussian_decay.cpp ├── ex_gaussian_pulse │ ├── CMakeLists.txt │ └── ex_gaussian_pulse.cpp ├── ex_gavoronoise │ ├── CMakeLists.txt │ └── ex_gavoronoise.cpp ├── ex_generate_network_alpha_model │ ├── CMakeLists.txt │ └── ex_generate_network_alpha_model.cpp ├── ex_generate_riverbed │ ├── CMakeLists.txt │ └── ex_generate_riverbed.cpp ├── ex_geomorphons │ ├── CMakeLists.txt │ └── ex_geomorphons.cpp ├── ex_gpu_opencl │ ├── CMakeLists.txt │ └── ex_gpu_opencl.cpp ├── ex_gradient_norm │ ├── CMakeLists.txt │ └── ex_gradient_norm.cpp ├── ex_graph │ ├── CMakeLists.txt │ └── ex_graph.cpp ├── ex_graph_dijkstra │ ├── CMakeLists.txt │ └── ex_graph_dijkstra.cpp ├── ex_graph_minimum_spanning_tree_prim │ ├── CMakeLists.txt │ └── ex_graph_minimum_spanning_tree_prim.cpp ├── ex_graph_sdf │ ├── CMakeLists.txt │ └── ex_graph_sdf.cpp ├── ex_grid_from_array │ ├── CMakeLists.txt │ └── ex_grid_from_array.cpp ├── ex_heightmap_fill │ ├── CMakeLists.txt │ └── ex_heightmap_fill.cpp ├── ex_heightmap_from_array │ ├── CMakeLists.txt │ └── ex_heightmap_from_array.cpp ├── ex_heightmap_rgb │ ├── CMakeLists.txt │ └── ex_heightmap_rgb.cpp ├── ex_heightmap_rgba │ ├── CMakeLists.txt │ └── ex_heightmap_rgba.cpp ├── ex_heightmap_transform │ ├── CMakeLists.txt │ └── ex_heightmap_transform.cpp ├── ex_hillshade │ ├── CMakeLists.txt │ └── ex_hillshade.cpp ├── ex_hydraulic_algebric │ ├── CMakeLists.txt │ └── ex_hydraulic_algebric.cpp ├── ex_hydraulic_benes │ ├── CMakeLists.txt │ └── ex_hydraulic_benes.cpp ├── ex_hydraulic_blur │ ├── CMakeLists.txt │ └── ex_hydraulic_blur.cpp ├── ex_hydraulic_diffusion │ ├── CMakeLists.txt │ └── ex_hydraulic_diffusion.cpp ├── ex_hydraulic_musgrave │ ├── CMakeLists.txt │ └── ex_hydraulic_musgrave.cpp ├── ex_hydraulic_particle │ ├── CMakeLists.txt │ └── ex_hydraulic_particle.cpp ├── ex_hydraulic_particle_multiscale │ ├── CMakeLists.txt │ └── ex_hydraulic_particle_multiscale.cpp ├── ex_hydraulic_procedural │ ├── CMakeLists.txt │ └── ex_hydraulic_procedural.cpp ├── ex_hydraulic_schott │ ├── CMakeLists.txt │ └── ex_hydraulic_schott.cpp ├── ex_hydraulic_stream │ ├── CMakeLists.txt │ └── ex_hydraulic_stream.cpp ├── ex_hydraulic_stream_upscale_amplification │ ├── CMakeLists.txt │ └── ex_hydraulic_stream_upscale_amplification.cpp ├── ex_hydraulic_vpipes │ ├── CMakeLists.txt │ └── ex_hydraulic_vpipes.cpp ├── ex_inpainting_diffusion │ ├── CMakeLists.txt │ └── ex_inpainting_diffusion.cpp ├── ex_interpolate1d │ ├── CMakeLists.txt │ └── ex_interpolate1d.cpp ├── ex_interpolate2d │ ├── CMakeLists.txt │ └── ex_interpolate2d.cpp ├── ex_interpolate_curve │ ├── CMakeLists.txt │ └── ex_interpolate_curve.cpp ├── ex_kernel │ ├── CMakeLists.txt │ └── ex_kernel.cpp ├── ex_kmeans_clustering │ ├── CMakeLists.txt │ └── ex_kmeans_clustering.cpp ├── ex_kuwahara │ ├── CMakeLists.txt │ └── ex_kuwahara.cpp ├── ex_laplace │ ├── CMakeLists.txt │ └── ex_laplace.cpp ├── ex_low_pass_high_order │ ├── CMakeLists.txt │ └── ex_low_pass_high_order.cpp ├── ex_make_periodic │ ├── CMakeLists.txt │ └── ex_make_periodic.cpp ├── ex_make_periodic_stitching │ ├── CMakeLists.txt │ └── ex_make_periodic_stitching.cpp ├── ex_make_periodic_tiling │ ├── CMakeLists.txt │ └── ex_make_periodic_tiling.cpp ├── ex_match_histogram │ ├── CMakeLists.txt │ └── ex_match_histogram.cpp ├── ex_maximum_local │ ├── CMakeLists.txt │ └── ex_maximum_local.cpp ├── ex_mean_local │ ├── CMakeLists.txt │ └── ex_mean_local.cpp ├── ex_mean_shift │ ├── CMakeLists.txt │ └── ex_mean_shift.cpp ├── ex_median_3x3 │ ├── CMakeLists.txt │ └── ex_median_3x3.cpp ├── ex_mix_normal_map_rgba │ ├── CMakeLists.txt │ └── ex_mix_normal_map_rgba.cpp ├── ex_mixer │ ├── CMakeLists.txt │ └── ex_mixer.cpp ├── ex_morphology_base │ ├── CMakeLists.txt │ └── ex_morphology_base.cpp ├── ex_mountain_range_radial │ ├── CMakeLists.txt │ └── ex_mountain_range_radial.cpp ├── ex_noise │ ├── CMakeLists.txt │ └── ex_noise.cpp ├── ex_noise_fbm │ ├── CMakeLists.txt │ └── ex_noise_fbm.cpp ├── ex_noise_function │ ├── CMakeLists.txt │ └── ex_noise_function.cpp ├── ex_non_parametric_sampling │ ├── CMakeLists.txt │ └── ex_non_parametric_sampling.cpp ├── ex_normal_displacement │ ├── CMakeLists.txt │ └── ex_normal_displacement.cpp ├── ex_normal_map_to_heightmap │ ├── CMakeLists.txt │ └── ex_normal_map_to_heightmap.cpp ├── ex_paraboloid │ ├── CMakeLists.txt │ └── ex_paraboloid.cpp ├── ex_path │ ├── CMakeLists.txt │ └── ex_path.cpp ├── ex_path_bezier │ ├── CMakeLists.txt │ └── ex_path_bezier.cpp ├── ex_path_bezier_round │ ├── CMakeLists.txt │ └── ex_path_bezier_round.cpp ├── ex_path_bspline │ ├── CMakeLists.txt │ └── ex_path_bspline.cpp ├── ex_path_catmullrom │ ├── CMakeLists.txt │ └── ex_path_catmullrom.cpp ├── ex_path_decasteljau │ ├── CMakeLists.txt │ └── ex_path_decasteljau.cpp ├── ex_path_decimate │ ├── CMakeLists.txt │ └── ex_path_decimate.cpp ├── ex_path_dijkstra │ ├── CMakeLists.txt │ └── ex_path_dijkstra.cpp ├── ex_path_flood_fill │ ├── CMakeLists.txt │ └── ex_path_flood_fill.cpp ├── ex_path_fractalize │ ├── CMakeLists.txt │ └── ex_path_fractalize.cpp ├── ex_path_meanderize │ ├── CMakeLists.txt │ └── ex_path_meanderize.cpp ├── ex_path_sdf │ ├── CMakeLists.txt │ └── ex_path_sdf.cpp ├── ex_path_smooth │ ├── CMakeLists.txt │ └── ex_path_smooth.cpp ├── ex_peak │ ├── CMakeLists.txt │ └── ex_peak.cpp ├── ex_phase_field │ ├── CMakeLists.txt │ └── ex_phase_field.cpp ├── ex_phasor │ ├── CMakeLists.txt │ └── ex_phasor.cpp ├── ex_plateau │ ├── CMakeLists.txt │ └── ex_plateau.cpp ├── ex_point_interp │ ├── CMakeLists.txt │ └── ex_point_interp.cpp ├── ex_pyramid_decomposition │ ├── CMakeLists.txt │ └── ex_pyramid_decomposition.cpp ├── ex_pyramid_transform │ ├── CMakeLists.txt │ └── ex_pyramid_transform.cpp ├── ex_quilting │ ├── CMakeLists.txt │ └── ex_quilting.cpp ├── ex_radial_displacement_to_xy │ ├── CMakeLists.txt │ └── ex_radial_displacement_to_xy.cpp ├── ex_random_grid │ ├── CMakeLists.txt │ └── ex_random_grid.cpp ├── ex_random_grid_density │ ├── CMakeLists.txt │ └── ex_random_grid_density.cpp ├── ex_read_to_array │ ├── CMakeLists.txt │ └── ex_read_to_array.cpp ├── ex_recast │ ├── CMakeLists.txt │ └── ex_recast.cpp ├── ex_rectangle │ ├── CMakeLists.txt │ └── ex_rectangle.cpp ├── ex_recurve │ ├── CMakeLists.txt │ └── ex_recurve.cpp ├── ex_recurve_xxx │ ├── CMakeLists.txt │ └── ex_recurve_xxx.cpp ├── ex_relative_elevation │ ├── CMakeLists.txt │ └── ex_relative_elevation.cpp ├── ex_remap │ ├── CMakeLists.txt │ └── ex_remap.cpp ├── ex_resample_to_shape │ ├── CMakeLists.txt │ └── ex_resample_to_shape.cpp ├── ex_rescale │ ├── CMakeLists.txt │ └── ex_rescale.cpp ├── ex_reverse_midpoint │ ├── CMakeLists.txt │ └── ex_reverse_midpoint.cpp ├── ex_ridgelines │ ├── CMakeLists.txt │ └── ex_ridgelines.cpp ├── ex_ridgelines_bezier │ ├── CMakeLists.txt │ └── ex_ridgelines_bezier.cpp ├── ex_rift │ ├── CMakeLists.txt │ └── ex_rift.cpp ├── ex_rot90 │ ├── CMakeLists.txt │ └── ex_rot90.cpp ├── ex_rotate │ ├── CMakeLists.txt │ └── ex_rotate.cpp ├── ex_ruggedness │ ├── CMakeLists.txt │ └── ex_ruggedness.cpp ├── ex_rugosity │ ├── CMakeLists.txt │ └── ex_rugosity.cpp ├── ex_saturate │ ├── CMakeLists.txt │ └── ex_saturate.cpp ├── ex_scan_mask │ ├── CMakeLists.txt │ └── ex_scan_mask.cpp ├── ex_sdf_polyline │ ├── CMakeLists.txt │ └── ex_sdf_polyline.cpp ├── ex_sediment_deposition │ ├── CMakeLists.txt │ └── ex_sediment_deposition.cpp ├── ex_sediment_deposition_particle │ ├── CMakeLists.txt │ └── ex_sediment_deposition_particle.cpp ├── ex_sediment_layer │ ├── CMakeLists.txt │ └── ex_sediment_layer.cpp ├── ex_select │ ├── CMakeLists.txt │ └── ex_select.cpp ├── ex_select_angle │ ├── CMakeLists.txt │ └── ex_select_angle.cpp ├── ex_select_blob │ ├── CMakeLists.txt │ └── ex_select_blob.cpp ├── ex_select_cavities │ ├── CMakeLists.txt │ └── ex_select_cavities.cpp ├── ex_select_elevation_slope │ ├── CMakeLists.txt │ └── ex_select_elevation_slope.cpp ├── ex_select_inward_outward_slope │ ├── CMakeLists.txt │ └── ex_select_inward_outward_slope.cpp ├── ex_select_midrange │ ├── CMakeLists.txt │ └── ex_select_midrange.cpp ├── ex_select_multiband3 │ ├── CMakeLists.txt │ └── ex_select_multiband3.cpp ├── ex_select_pulse │ ├── CMakeLists.txt │ └── ex_select_pulse.cpp ├── ex_select_rivers │ ├── CMakeLists.txt │ └── ex_select_rivers.cpp ├── ex_select_transitions │ ├── CMakeLists.txt │ └── ex_select_transitions.cpp ├── ex_select_valley │ ├── CMakeLists.txt │ └── ex_select_valley.cpp ├── ex_set_borders │ ├── CMakeLists.txt │ └── ex_set_borders.cpp ├── ex_sharpen │ ├── CMakeLists.txt │ └── ex_sharpen.cpp ├── ex_sharpen_cone │ ├── CMakeLists.txt │ └── ex_sharpen_cone.cpp ├── ex_skeleton │ ├── CMakeLists.txt │ └── ex_skeleton.cpp ├── ex_slope │ ├── CMakeLists.txt │ └── ex_slope.cpp ├── ex_smooth_cone │ ├── CMakeLists.txt │ └── ex_smooth_cone.cpp ├── ex_smooth_cpulse │ ├── CMakeLists.txt │ └── ex_smooth_cpulse.cpp ├── ex_smooth_fill │ ├── CMakeLists.txt │ └── ex_smooth_fill.cpp ├── ex_smooth_fill_holes │ ├── CMakeLists.txt │ └── ex_smooth_fill_holes.cpp ├── ex_smooth_gaussian │ ├── CMakeLists.txt │ └── ex_smooth_gaussian.cpp ├── ex_smoothstep │ ├── CMakeLists.txt │ └── ex_smoothstep.cpp ├── ex_smoothstep_local │ ├── CMakeLists.txt │ └── ex_smoothstep_local.cpp ├── ex_stamping │ ├── CMakeLists.txt │ └── ex_stamping.cpp ├── ex_steepen │ ├── CMakeLists.txt │ └── ex_steepen.cpp ├── ex_steepen_convective │ ├── CMakeLists.txt │ └── ex_steepen_convective.cpp ├── ex_step │ ├── CMakeLists.txt │ └── ex_step.cpp ├── ex_stratify │ ├── CMakeLists.txt │ └── ex_stratify.cpp ├── ex_stratify_multiscale │ ├── CMakeLists.txt │ └── ex_stratify_multiscale.cpp ├── ex_swirl │ ├── CMakeLists.txt │ └── ex_swirl.cpp ├── ex_tensor │ ├── CMakeLists.txt │ └── ex_tensor.cpp ├── ex_terrace │ ├── CMakeLists.txt │ └── ex_terrace.cpp ├── ex_terrain │ ├── CMakeLists.txt │ └── ex_terrain.cpp ├── ex_tessellate │ ├── CMakeLists.txt │ └── ex_tessellate.cpp ├── ex_thermal │ ├── CMakeLists.txt │ └── ex_thermal.cpp ├── ex_thermal_auto_bedrock │ ├── CMakeLists.txt │ └── ex_thermal_auto_bedrock.cpp ├── ex_thermal_flatten │ ├── CMakeLists.txt │ └── ex_thermal_flatten.cpp ├── ex_thermal_rib │ ├── CMakeLists.txt │ └── ex_thermal_rib.cpp ├── ex_thermal_ridge │ ├── CMakeLists.txt │ └── ex_thermal_ridge.cpp ├── ex_thermal_schott │ ├── CMakeLists.txt │ └── ex_thermal_schott.cpp ├── ex_to_cv_mat │ ├── CMakeLists.txt │ └── ex_to_cv_mat.cpp ├── ex_to_numpy │ ├── CMakeLists.txt │ └── ex_to_numpy.cpp ├── ex_to_png │ ├── CMakeLists.txt │ └── ex_to_png.cpp ├── ex_translate │ ├── CMakeLists.txt │ └── ex_translate.cpp ├── ex_unwrap_phase │ ├── CMakeLists.txt │ └── ex_unwrap_phase.cpp ├── ex_valley_width │ ├── CMakeLists.txt │ └── ex_valley_width.cpp ├── ex_voronoi │ ├── CMakeLists.txt │ └── ex_voronoi.cpp ├── ex_voronoi_edge_distance │ ├── CMakeLists.txt │ └── ex_voronoi_edge_distance.cpp ├── ex_voronoise │ ├── CMakeLists.txt │ └── ex_voronoise.cpp ├── ex_warp │ ├── CMakeLists.txt │ └── ex_warp.cpp ├── ex_warp_directional │ ├── CMakeLists.txt │ └── ex_warp_directional.cpp ├── ex_warp_downslope │ ├── CMakeLists.txt │ └── ex_warp_downslope.cpp ├── ex_wave │ ├── CMakeLists.txt │ └── ex_wave.cpp ├── ex_white │ ├── CMakeLists.txt │ └── ex_white.cpp ├── ex_white_density_map │ ├── CMakeLists.txt │ └── ex_white_density_map.cpp ├── ex_white_sparse │ ├── CMakeLists.txt │ └── ex_white_sparse.cpp ├── ex_worley_double │ ├── CMakeLists.txt │ └── ex_worley_double.cpp ├── ex_wrinkle │ ├── CMakeLists.txt │ └── ex_wrinkle.cpp ├── ex_zeroed_edges │ ├── CMakeLists.txt │ └── ex_zeroed_edges.cpp └── ex_zoom │ ├── CMakeLists.txt │ └── ex_zoom.cpp ├── external ├── CMakeLists.txt ├── FastNoiseLite.cmake ├── delaunator.cmake ├── delaunator │ └── include │ │ └── delaunator-cpp.hpp ├── dkm.cmake ├── hmm.cmake ├── libnpy.cmake └── macro-logger.cmake ├── scripts ├── add_license_header.py ├── clang_style ├── format_src.sh └── generate_cmakelists_examples.py └── tests ├── CMakeLists.txt └── test_gpu_vs_cpu ├── CMakeLists.txt └── main.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | build/ -------------------------------------------------------------------------------- /HighMap/src/gpu_opencl/kernels/_common_sort.cl: -------------------------------------------------------------------------------- 1 | R""( 2 | /* Copyright (c) 2023 Otto Link. Distributed under the terms of the GNU General 3 | * Public License. The full license is in the file LICENSE, distributed with 4 | * this software. */ 5 | void insertion_sort(float *arr, const int n) 6 | { 7 | for (int i = 1; i < n; i++) 8 | { 9 | float key = arr[i]; 10 | int j = i - 1; 11 | while ((j >= 0) && (key < arr[j])) 12 | { 13 | arr[j + 1] = arr[j]; 14 | j--; 15 | } 16 | arr[j + 1] = key; 17 | } 18 | } 19 | )"" 20 | -------------------------------------------------------------------------------- /doc/images/ex_abs_smooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_abs_smooth.png -------------------------------------------------------------------------------- /doc/images/ex_alter_elevation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_alter_elevation.png -------------------------------------------------------------------------------- /doc/images/ex_array_interp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_array_interp.png -------------------------------------------------------------------------------- /doc/images/ex_base_elevation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_base_elevation.png -------------------------------------------------------------------------------- /doc/images/ex_biquad_pulse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_biquad_pulse.png -------------------------------------------------------------------------------- /doc/images/ex_blend0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_blend0.png -------------------------------------------------------------------------------- /doc/images/ex_blend1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_blend1.png -------------------------------------------------------------------------------- /doc/images/ex_blend2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_blend2.png -------------------------------------------------------------------------------- /doc/images/ex_blend3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_blend3.png -------------------------------------------------------------------------------- /doc/images/ex_blend4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_blend4.png -------------------------------------------------------------------------------- /doc/images/ex_blend_poisson_bf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_blend_poisson_bf.png -------------------------------------------------------------------------------- /doc/images/ex_bump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_bump.png -------------------------------------------------------------------------------- /doc/images/ex_bump_field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_bump_field.png -------------------------------------------------------------------------------- /doc/images/ex_caldera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_caldera.png -------------------------------------------------------------------------------- /doc/images/ex_checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_checkerboard.png -------------------------------------------------------------------------------- /doc/images/ex_clamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_clamp.png -------------------------------------------------------------------------------- /doc/images/ex_cloud_get_convex_hull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_cloud_get_convex_hull.png -------------------------------------------------------------------------------- /doc/images/ex_cloud_sdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_cloud_sdf.png -------------------------------------------------------------------------------- /doc/images/ex_cloud_to_array_interp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_cloud_to_array_interp.png -------------------------------------------------------------------------------- /doc/images/ex_colorize_histrogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colorize_histrogram.png -------------------------------------------------------------------------------- /doc/images/ex_colorize_slope_height_heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colorize_slope_height_heatmap.png -------------------------------------------------------------------------------- /doc/images/ex_colorize_vec2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colorize_vec2.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps0.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps1.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps10.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps2.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps3.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps4.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps5.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps6.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps7.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps8.png -------------------------------------------------------------------------------- /doc/images/ex_colormaps9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_colormaps9.png -------------------------------------------------------------------------------- /doc/images/ex_connected_components0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_connected_components0.png -------------------------------------------------------------------------------- /doc/images/ex_connected_components1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_connected_components1.png -------------------------------------------------------------------------------- /doc/images/ex_convolve1d_ij.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_convolve1d_ij.png -------------------------------------------------------------------------------- /doc/images/ex_convolve2d_svd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_convolve2d_svd.png -------------------------------------------------------------------------------- /doc/images/ex_convolve2d_svd_rotated_kernel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_convolve2d_svd_rotated_kernel.png -------------------------------------------------------------------------------- /doc/images/ex_cracks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_cracks.png -------------------------------------------------------------------------------- /doc/images/ex_crater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_crater.png -------------------------------------------------------------------------------- /doc/images/ex_cubic_pulse_truncated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_cubic_pulse_truncated.png -------------------------------------------------------------------------------- /doc/images/ex_curvature_gaussian0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_curvature_gaussian0.png -------------------------------------------------------------------------------- /doc/images/ex_curvature_gaussian1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_curvature_gaussian1.png -------------------------------------------------------------------------------- /doc/images/ex_curvature_gaussian2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_curvature_gaussian2.png -------------------------------------------------------------------------------- /doc/images/ex_curvature_gaussian3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_curvature_gaussian3.png -------------------------------------------------------------------------------- /doc/images/ex_curvature_gaussian4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_curvature_gaussian4.png -------------------------------------------------------------------------------- /doc/images/ex_curvature_gaussian5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_curvature_gaussian5.png -------------------------------------------------------------------------------- /doc/images/ex_dendry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_dendry.png -------------------------------------------------------------------------------- /doc/images/ex_depression_filling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_depression_filling.png -------------------------------------------------------------------------------- /doc/images/ex_detrend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_detrend.png -------------------------------------------------------------------------------- /doc/images/ex_diffusion_limited_aggregation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_diffusion_limited_aggregation.png -------------------------------------------------------------------------------- /doc/images/ex_diffusion_retargeting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_diffusion_retargeting.png -------------------------------------------------------------------------------- /doc/images/ex_dig_path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_dig_path.png -------------------------------------------------------------------------------- /doc/images/ex_directional_blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_directional_blur.png -------------------------------------------------------------------------------- /doc/images/ex_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_disk.png -------------------------------------------------------------------------------- /doc/images/ex_distance_transform0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_distance_transform0.png -------------------------------------------------------------------------------- /doc/images/ex_distance_transform1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_distance_transform1.png -------------------------------------------------------------------------------- /doc/images/ex_distance_transform2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_distance_transform2.png -------------------------------------------------------------------------------- /doc/images/ex_distance_transform3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_distance_transform3.png -------------------------------------------------------------------------------- /doc/images/ex_downscale_transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_downscale_transform.png -------------------------------------------------------------------------------- /doc/images/ex_downscale_transform_multi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_downscale_transform_multi.png -------------------------------------------------------------------------------- /doc/images/ex_erosions_maps0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_erosions_maps0.png -------------------------------------------------------------------------------- /doc/images/ex_erosions_maps1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_erosions_maps1.png -------------------------------------------------------------------------------- /doc/images/ex_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_expand.png -------------------------------------------------------------------------------- /doc/images/ex_expand_directional.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_expand_directional.png -------------------------------------------------------------------------------- /doc/images/ex_export_as_cubemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_export_as_cubemap.png -------------------------------------------------------------------------------- /doc/images/ex_export_splatmap_png_16bit0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_export_splatmap_png_16bit0.png -------------------------------------------------------------------------------- /doc/images/ex_export_splatmap_png_16bit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_export_splatmap_png_16bit1.png -------------------------------------------------------------------------------- /doc/images/ex_faceted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_faceted.png -------------------------------------------------------------------------------- /doc/images/ex_falloff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_falloff.png -------------------------------------------------------------------------------- /doc/images/ex_fbm0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm0.png -------------------------------------------------------------------------------- /doc/images/ex_fbm1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm1.png -------------------------------------------------------------------------------- /doc/images/ex_fbm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm2.png -------------------------------------------------------------------------------- /doc/images/ex_fbm_iq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm_iq.png -------------------------------------------------------------------------------- /doc/images/ex_fbm_iq_perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm_iq_perlin.png -------------------------------------------------------------------------------- /doc/images/ex_fbm_jordan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm_jordan.png -------------------------------------------------------------------------------- /doc/images/ex_fbm_perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm_perlin.png -------------------------------------------------------------------------------- /doc/images/ex_fbm_perlin_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm_perlin_advanced.png -------------------------------------------------------------------------------- /doc/images/ex_fbm_swiss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fbm_swiss.png -------------------------------------------------------------------------------- /doc/images/ex_fft_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fft_filter.png -------------------------------------------------------------------------------- /doc/images/ex_fft_modulus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fft_modulus.png -------------------------------------------------------------------------------- /doc/images/ex_fill_array_using_xy_function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fill_array_using_xy_function.png -------------------------------------------------------------------------------- /doc/images/ex_fill_talus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fill_talus.png -------------------------------------------------------------------------------- /doc/images/ex_find_path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_find_path.png -------------------------------------------------------------------------------- /doc/images/ex_find_path_dijkstra0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_find_path_dijkstra0.png -------------------------------------------------------------------------------- /doc/images/ex_find_path_dijkstra1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_find_path_dijkstra1.png -------------------------------------------------------------------------------- /doc/images/ex_find_path_dijkstra2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_find_path_dijkstra2.png -------------------------------------------------------------------------------- /doc/images/ex_flip_ud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flip_ud.png -------------------------------------------------------------------------------- /doc/images/ex_flood_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flood_fill.png -------------------------------------------------------------------------------- /doc/images/ex_flooding_from_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flooding_from_point.png -------------------------------------------------------------------------------- /doc/images/ex_flow_accumulation_d80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flow_accumulation_d80.png -------------------------------------------------------------------------------- /doc/images/ex_flow_accumulation_d81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flow_accumulation_d81.png -------------------------------------------------------------------------------- /doc/images/ex_flow_accumulation_dinf0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flow_accumulation_dinf0.png -------------------------------------------------------------------------------- /doc/images/ex_flow_accumulation_dinf1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flow_accumulation_dinf1.png -------------------------------------------------------------------------------- /doc/images/ex_flow_stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_flow_stream.png -------------------------------------------------------------------------------- /doc/images/ex_fold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_fold.png -------------------------------------------------------------------------------- /doc/images/ex_gabor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gabor.png -------------------------------------------------------------------------------- /doc/images/ex_gabor_noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gabor_noise.png -------------------------------------------------------------------------------- /doc/images/ex_gabor_wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gabor_wave.png -------------------------------------------------------------------------------- /doc/images/ex_gain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gain.png -------------------------------------------------------------------------------- /doc/images/ex_gamma_correction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gamma_correction.png -------------------------------------------------------------------------------- /doc/images/ex_gamma_correction_local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gamma_correction_local.png -------------------------------------------------------------------------------- /doc/images/ex_gaussian_decay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gaussian_decay.png -------------------------------------------------------------------------------- /doc/images/ex_gaussian_pulse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gaussian_pulse.png -------------------------------------------------------------------------------- /doc/images/ex_gavoronoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gavoronoise.png -------------------------------------------------------------------------------- /doc/images/ex_generate_network_alpha_model0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_generate_network_alpha_model0.png -------------------------------------------------------------------------------- /doc/images/ex_generate_network_alpha_model1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_generate_network_alpha_model1.png -------------------------------------------------------------------------------- /doc/images/ex_generate_network_alpha_model2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_generate_network_alpha_model2.png -------------------------------------------------------------------------------- /doc/images/ex_geomorphons0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_geomorphons0.png -------------------------------------------------------------------------------- /doc/images/ex_geomorphons1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_geomorphons1.png -------------------------------------------------------------------------------- /doc/images/ex_gpu_maximum_local_weighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gpu_maximum_local_weighted.png -------------------------------------------------------------------------------- /doc/images/ex_gpu_median_3x3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gpu_median_3x3.png -------------------------------------------------------------------------------- /doc/images/ex_gpu_simplex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gpu_simplex.png -------------------------------------------------------------------------------- /doc/images/ex_gpu_voronoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gpu_voronoise.png -------------------------------------------------------------------------------- /doc/images/ex_gradient_norm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_gradient_norm.png -------------------------------------------------------------------------------- /doc/images/ex_graph0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_graph0.png -------------------------------------------------------------------------------- /doc/images/ex_graph_minimum_spanning_tree_prim0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_graph_minimum_spanning_tree_prim0.png -------------------------------------------------------------------------------- /doc/images/ex_graph_minimum_spanning_tree_prim1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_graph_minimum_spanning_tree_prim1.png -------------------------------------------------------------------------------- /doc/images/ex_graph_sdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_graph_sdf.png -------------------------------------------------------------------------------- /doc/images/ex_grid_from_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_grid_from_array.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_fill0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_fill0.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_fill1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_fill1.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_from_array0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_from_array0.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_from_array1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_from_array1.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgb0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgb0.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgb1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgb1.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgb2.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgb3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgb3.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgb4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgb4.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgb5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgb5.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgba0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgba0.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgba1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgba1.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgba2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgba2.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgba3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgba3.png -------------------------------------------------------------------------------- /doc/images/ex_heightmap_rgba4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_heightmap_rgba4.png -------------------------------------------------------------------------------- /doc/images/ex_hillshade0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hillshade0.png -------------------------------------------------------------------------------- /doc/images/ex_hillshade1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hillshade1.png -------------------------------------------------------------------------------- /doc/images/ex_hybrid_fbm_perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hybrid_fbm_perlin.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_algebric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_algebric.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_benes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_benes.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_blur.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_diffusion.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_musgrave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_musgrave.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_particle0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_particle0.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_particle1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_particle1.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_particle_multiscale0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_particle_multiscale0.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_particle_multiscale1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_particle_multiscale1.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_procedural0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_procedural0.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_procedural1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_procedural1.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_schott.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_schott.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_stream0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_stream0.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_stream1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_stream1.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_stream_upscale_amplification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_stream_upscale_amplification.png -------------------------------------------------------------------------------- /doc/images/ex_hydraulic_vpipes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_hydraulic_vpipes.png -------------------------------------------------------------------------------- /doc/images/ex_inpainting_diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_inpainting_diffusion.png -------------------------------------------------------------------------------- /doc/images/ex_interpolate1d_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_interpolate1d_0.png -------------------------------------------------------------------------------- /doc/images/ex_interpolate1d_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_interpolate1d_1.png -------------------------------------------------------------------------------- /doc/images/ex_interpolate1d_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_interpolate1d_2.png -------------------------------------------------------------------------------- /doc/images/ex_interpolate2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_interpolate2d.png -------------------------------------------------------------------------------- /doc/images/ex_interpolate_curve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_interpolate_curve.png -------------------------------------------------------------------------------- /doc/images/ex_kernels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kernels.png -------------------------------------------------------------------------------- /doc/images/ex_kmeans_clustering0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kmeans_clustering0.png -------------------------------------------------------------------------------- /doc/images/ex_kmeans_clustering1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kmeans_clustering1.png -------------------------------------------------------------------------------- /doc/images/ex_kmeans_clustering2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kmeans_clustering2.png -------------------------------------------------------------------------------- /doc/images/ex_kmeans_clustering3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kmeans_clustering3.png -------------------------------------------------------------------------------- /doc/images/ex_kmeans_clustering4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kmeans_clustering4.png -------------------------------------------------------------------------------- /doc/images/ex_kmeans_clustering5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kmeans_clustering5.png -------------------------------------------------------------------------------- /doc/images/ex_kuwahara.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_kuwahara.png -------------------------------------------------------------------------------- /doc/images/ex_laplace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_laplace.png -------------------------------------------------------------------------------- /doc/images/ex_low_pass_high_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_low_pass_high_order.png -------------------------------------------------------------------------------- /doc/images/ex_make_periodic0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_make_periodic0.png -------------------------------------------------------------------------------- /doc/images/ex_make_periodic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_make_periodic1.png -------------------------------------------------------------------------------- /doc/images/ex_make_periodic_stitching0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_make_periodic_stitching0.png -------------------------------------------------------------------------------- /doc/images/ex_make_periodic_stitching1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_make_periodic_stitching1.png -------------------------------------------------------------------------------- /doc/images/ex_make_periodic_tiling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_make_periodic_tiling.png -------------------------------------------------------------------------------- /doc/images/ex_match_histogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_match_histogram.png -------------------------------------------------------------------------------- /doc/images/ex_maximum_local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_maximum_local.png -------------------------------------------------------------------------------- /doc/images/ex_mean_local0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mean_local0.png -------------------------------------------------------------------------------- /doc/images/ex_mean_local1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mean_local1.png -------------------------------------------------------------------------------- /doc/images/ex_mean_shift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mean_shift.png -------------------------------------------------------------------------------- /doc/images/ex_median_3x3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_median_3x3.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba0.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba1.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba2.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba3.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba4.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba5.png -------------------------------------------------------------------------------- /doc/images/ex_mix_normal_map_rgba6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mix_normal_map_rgba6.png -------------------------------------------------------------------------------- /doc/images/ex_mixer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mixer.png -------------------------------------------------------------------------------- /doc/images/ex_morphology_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_morphology_base.png -------------------------------------------------------------------------------- /doc/images/ex_mountain_range_radial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_mountain_range_radial.png -------------------------------------------------------------------------------- /doc/images/ex_multifractal_perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_multifractal_perlin.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm0.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm1.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm2.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm3.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm4.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm5.png -------------------------------------------------------------------------------- /doc/images/ex_noise_fbm6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_noise_fbm6.png -------------------------------------------------------------------------------- /doc/images/ex_non_parametric_sampling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_non_parametric_sampling.png -------------------------------------------------------------------------------- /doc/images/ex_normal_displacement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_normal_displacement.png -------------------------------------------------------------------------------- /doc/images/ex_normal_map_to_heightmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_normal_map_to_heightmap.png -------------------------------------------------------------------------------- /doc/images/ex_paraboloid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_paraboloid.png -------------------------------------------------------------------------------- /doc/images/ex_path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path.png -------------------------------------------------------------------------------- /doc/images/ex_path_bezier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_bezier.png -------------------------------------------------------------------------------- /doc/images/ex_path_bezier_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_bezier_round.png -------------------------------------------------------------------------------- /doc/images/ex_path_bspline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_bspline.png -------------------------------------------------------------------------------- /doc/images/ex_path_catmullrom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_catmullrom.png -------------------------------------------------------------------------------- /doc/images/ex_path_decasteljau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_decasteljau.png -------------------------------------------------------------------------------- /doc/images/ex_path_decimate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_decimate.png -------------------------------------------------------------------------------- /doc/images/ex_path_dijkstra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_dijkstra.png -------------------------------------------------------------------------------- /doc/images/ex_path_flood_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_flood_fill.png -------------------------------------------------------------------------------- /doc/images/ex_path_fractalize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_fractalize.png -------------------------------------------------------------------------------- /doc/images/ex_path_meanderize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_meanderize.png -------------------------------------------------------------------------------- /doc/images/ex_path_sdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_sdf.png -------------------------------------------------------------------------------- /doc/images/ex_path_smooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_smooth.png -------------------------------------------------------------------------------- /doc/images/ex_path_to_array_gaussian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_to_array_gaussian.png -------------------------------------------------------------------------------- /doc/images/ex_path_to_array_polygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_to_array_polygon.png -------------------------------------------------------------------------------- /doc/images/ex_path_to_array_range.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_path_to_array_range.png -------------------------------------------------------------------------------- /doc/images/ex_peak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_peak.png -------------------------------------------------------------------------------- /doc/images/ex_perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_perlin.png -------------------------------------------------------------------------------- /doc/images/ex_phase_field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_phase_field.png -------------------------------------------------------------------------------- /doc/images/ex_phasor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_phasor.png -------------------------------------------------------------------------------- /doc/images/ex_plateau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_plateau.png -------------------------------------------------------------------------------- /doc/images/ex_point_interp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_point_interp.png -------------------------------------------------------------------------------- /doc/images/ex_pyramid_decomposition0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_pyramid_decomposition0.png -------------------------------------------------------------------------------- /doc/images/ex_pyramid_decomposition1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_pyramid_decomposition1.png -------------------------------------------------------------------------------- /doc/images/ex_quilting0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_quilting0.png -------------------------------------------------------------------------------- /doc/images/ex_quilting1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_quilting1.png -------------------------------------------------------------------------------- /doc/images/ex_quilting2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_quilting2.png -------------------------------------------------------------------------------- /doc/images/ex_quilting3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_quilting3.png -------------------------------------------------------------------------------- /doc/images/ex_quilting4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_quilting4.png -------------------------------------------------------------------------------- /doc/images/ex_radial_displacement_to_xy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_radial_displacement_to_xy.png -------------------------------------------------------------------------------- /doc/images/ex_random_grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_random_grid.png -------------------------------------------------------------------------------- /doc/images/ex_recast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_recast.png -------------------------------------------------------------------------------- /doc/images/ex_rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rectangle.png -------------------------------------------------------------------------------- /doc/images/ex_recurve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_recurve.png -------------------------------------------------------------------------------- /doc/images/ex_recurve_xxx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_recurve_xxx.png -------------------------------------------------------------------------------- /doc/images/ex_relative_elevation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_relative_elevation.png -------------------------------------------------------------------------------- /doc/images/ex_resample_to_shape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_resample_to_shape.png -------------------------------------------------------------------------------- /doc/images/ex_rescale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rescale.png -------------------------------------------------------------------------------- /doc/images/ex_reverse_midpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_reverse_midpoint.png -------------------------------------------------------------------------------- /doc/images/ex_ridged_perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_ridged_perlin.png -------------------------------------------------------------------------------- /doc/images/ex_ridgelines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_ridgelines.png -------------------------------------------------------------------------------- /doc/images/ex_ridgelines_bezier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_ridgelines_bezier.png -------------------------------------------------------------------------------- /doc/images/ex_rift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rift.png -------------------------------------------------------------------------------- /doc/images/ex_rot90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rot90.png -------------------------------------------------------------------------------- /doc/images/ex_rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rotate.png -------------------------------------------------------------------------------- /doc/images/ex_ruggedness0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_ruggedness0.png -------------------------------------------------------------------------------- /doc/images/ex_ruggedness1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_ruggedness1.png -------------------------------------------------------------------------------- /doc/images/ex_rugosity0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rugosity0.png -------------------------------------------------------------------------------- /doc/images/ex_rugosity1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_rugosity1.png -------------------------------------------------------------------------------- /doc/images/ex_saturate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_saturate.png -------------------------------------------------------------------------------- /doc/images/ex_scan_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_scan_mask.png -------------------------------------------------------------------------------- /doc/images/ex_sdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sdf.png -------------------------------------------------------------------------------- /doc/images/ex_sdf_polyline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sdf_polyline.png -------------------------------------------------------------------------------- /doc/images/ex_sediment_deposition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sediment_deposition.png -------------------------------------------------------------------------------- /doc/images/ex_sediment_deposition_particle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sediment_deposition_particle.png -------------------------------------------------------------------------------- /doc/images/ex_sediment_layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sediment_layer.png -------------------------------------------------------------------------------- /doc/images/ex_select0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select0.png -------------------------------------------------------------------------------- /doc/images/ex_select1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select1.png -------------------------------------------------------------------------------- /doc/images/ex_select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select2.png -------------------------------------------------------------------------------- /doc/images/ex_select3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select3.png -------------------------------------------------------------------------------- /doc/images/ex_select4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select4.png -------------------------------------------------------------------------------- /doc/images/ex_select_angle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_angle.png -------------------------------------------------------------------------------- /doc/images/ex_select_blob0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_blob0.png -------------------------------------------------------------------------------- /doc/images/ex_select_blob1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_blob1.png -------------------------------------------------------------------------------- /doc/images/ex_select_cavities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_cavities.png -------------------------------------------------------------------------------- /doc/images/ex_select_elevation_slope0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_elevation_slope0.png -------------------------------------------------------------------------------- /doc/images/ex_select_elevation_slope1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_elevation_slope1.png -------------------------------------------------------------------------------- /doc/images/ex_select_inward_outward_slope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_inward_outward_slope.png -------------------------------------------------------------------------------- /doc/images/ex_select_midrange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_midrange.png -------------------------------------------------------------------------------- /doc/images/ex_select_multiband3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_multiband3.png -------------------------------------------------------------------------------- /doc/images/ex_select_pulse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_pulse.png -------------------------------------------------------------------------------- /doc/images/ex_select_rivers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_rivers.png -------------------------------------------------------------------------------- /doc/images/ex_select_transitions0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_transitions0.png -------------------------------------------------------------------------------- /doc/images/ex_select_transitions1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_transitions1.png -------------------------------------------------------------------------------- /doc/images/ex_select_transitions2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_transitions2.png -------------------------------------------------------------------------------- /doc/images/ex_select_valley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_select_valley.png -------------------------------------------------------------------------------- /doc/images/ex_set_borders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_set_borders.png -------------------------------------------------------------------------------- /doc/images/ex_sharpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sharpen.png -------------------------------------------------------------------------------- /doc/images/ex_sharpen_clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_sharpen_clone.png -------------------------------------------------------------------------------- /doc/images/ex_simplex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_simplex.png -------------------------------------------------------------------------------- /doc/images/ex_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_skeleton.png -------------------------------------------------------------------------------- /doc/images/ex_slope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_slope.png -------------------------------------------------------------------------------- /doc/images/ex_smooth_cone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smooth_cone.png -------------------------------------------------------------------------------- /doc/images/ex_smooth_cpulse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smooth_cpulse.png -------------------------------------------------------------------------------- /doc/images/ex_smooth_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smooth_fill.png -------------------------------------------------------------------------------- /doc/images/ex_smooth_fill_holes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smooth_fill_holes.png -------------------------------------------------------------------------------- /doc/images/ex_smooth_gaussian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smooth_gaussian.png -------------------------------------------------------------------------------- /doc/images/ex_smoothstep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smoothstep.png -------------------------------------------------------------------------------- /doc/images/ex_smoothstep_local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_smoothstep_local.png -------------------------------------------------------------------------------- /doc/images/ex_stamping0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_stamping0.png -------------------------------------------------------------------------------- /doc/images/ex_stamping1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_stamping1.png -------------------------------------------------------------------------------- /doc/images/ex_stamping2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_stamping2.png -------------------------------------------------------------------------------- /doc/images/ex_steepen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_steepen.png -------------------------------------------------------------------------------- /doc/images/ex_steepen_convective.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_steepen_convective.png -------------------------------------------------------------------------------- /doc/images/ex_step.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_step.png -------------------------------------------------------------------------------- /doc/images/ex_stratify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_stratify.png -------------------------------------------------------------------------------- /doc/images/ex_stratify_multiscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_stratify_multiscale.png -------------------------------------------------------------------------------- /doc/images/ex_swirl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_swirl.png -------------------------------------------------------------------------------- /doc/images/ex_terrace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_terrace.png -------------------------------------------------------------------------------- /doc/images/ex_tessellate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_tessellate.png -------------------------------------------------------------------------------- /doc/images/ex_thermal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_thermal.png -------------------------------------------------------------------------------- /doc/images/ex_thermal_auto_bedrock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_thermal_auto_bedrock.png -------------------------------------------------------------------------------- /doc/images/ex_thermal_flatten.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_thermal_flatten.png -------------------------------------------------------------------------------- /doc/images/ex_thermal_rib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_thermal_rib.png -------------------------------------------------------------------------------- /doc/images/ex_thermal_ridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_thermal_ridge.png -------------------------------------------------------------------------------- /doc/images/ex_thermal_schott.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_thermal_schott.png -------------------------------------------------------------------------------- /doc/images/ex_to_png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_to_png.png -------------------------------------------------------------------------------- /doc/images/ex_translate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_translate.png -------------------------------------------------------------------------------- /doc/images/ex_unwrap_phase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_unwrap_phase.png -------------------------------------------------------------------------------- /doc/images/ex_valley_width0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_valley_width0.png -------------------------------------------------------------------------------- /doc/images/ex_valley_width1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_valley_width1.png -------------------------------------------------------------------------------- /doc/images/ex_value_noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_value_noise.png -------------------------------------------------------------------------------- /doc/images/ex_value_noise_delaunay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_value_noise_delaunay.png -------------------------------------------------------------------------------- /doc/images/ex_value_noise_linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_value_noise_linear.png -------------------------------------------------------------------------------- /doc/images/ex_value_noise_thinplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_value_noise_thinplate.png -------------------------------------------------------------------------------- /doc/images/ex_voronoi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_voronoi.png -------------------------------------------------------------------------------- /doc/images/ex_voronoi_edge_distance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_voronoi_edge_distance.png -------------------------------------------------------------------------------- /doc/images/ex_voronoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_voronoise.png -------------------------------------------------------------------------------- /doc/images/ex_warp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_warp.png -------------------------------------------------------------------------------- /doc/images/ex_warp_directional.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_warp_directional.png -------------------------------------------------------------------------------- /doc/images/ex_warp_downslope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_warp_downslope.png -------------------------------------------------------------------------------- /doc/images/ex_wave0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_wave0.png -------------------------------------------------------------------------------- /doc/images/ex_wave1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_wave1.png -------------------------------------------------------------------------------- /doc/images/ex_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_white.png -------------------------------------------------------------------------------- /doc/images/ex_white_density_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_white_density_map.png -------------------------------------------------------------------------------- /doc/images/ex_white_sparse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_white_sparse.png -------------------------------------------------------------------------------- /doc/images/ex_worley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_worley.png -------------------------------------------------------------------------------- /doc/images/ex_worley_double.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_worley_double.png -------------------------------------------------------------------------------- /doc/images/ex_worley_polyline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_worley_polyline.png -------------------------------------------------------------------------------- /doc/images/ex_wrinkle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_wrinkle.png -------------------------------------------------------------------------------- /doc/images/ex_zeroed_edges.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_zeroed_edges.png -------------------------------------------------------------------------------- /doc/images/ex_zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/ex_zoom.png -------------------------------------------------------------------------------- /doc/images/illustrations/dem_example_rendered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otto-link/HighMap/66be14930b14ba3a6f4c92face1369f78b2e3924/doc/images/illustrations/dem_example_rendered.png -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file( 2 | GLOB EXAMPLES 3 | LIST_DIRECTORIES true 4 | "*") 5 | foreach(item ${EXAMPLES}) 6 | if(IS_DIRECTORY ${item}) 7 | add_subdirectory(${item}) 8 | endif() 9 | endforeach() 10 | -------------------------------------------------------------------------------- /examples/ex_abs_smooth/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_abs_smooth ex_abs_smooth.cpp) 2 | target_link_libraries(ex_abs_smooth highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_alter_elevation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_alter_elevation ex_alter_elevation.cpp) 2 | target_link_libraries(ex_alter_elevation highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_array/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_array ex_array.cpp) 2 | target_link_libraries(ex_array highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_array/ex_array.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "highmap.hpp" 4 | 5 | int main(void) 6 | { 7 | hmap::Vec2 shape = {6, 4}; 8 | hmap::Array a = hmap::Array(shape); 9 | 10 | a = 1.f; 11 | 12 | for (int i = 0; i < a.shape.x; i++) 13 | for (int j = 0; j < a.shape.y; j++) 14 | std::cout << i << " " << j << " " << a(i, j) << std::endl; 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_array_interp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_array_interp ex_array_interp.cpp) 2 | target_link_libraries(ex_array_interp highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_base_elevation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_base_elevation ex_base_elevation.cpp) 2 | target_link_libraries(ex_base_elevation highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_biquad_pulse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_biquad_pulse ex_biquad_pulse.cpp) 2 | target_link_libraries(ex_biquad_pulse highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_blend/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_blend ex_blend.cpp) 2 | target_link_libraries(ex_blend highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_blend_poisson_bf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_blend_poisson_bf ex_blend_poisson_bf.cpp) 2 | target_link_libraries(ex_blend_poisson_bf highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_bump/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_bump ex_bump.cpp) 2 | target_link_libraries(ex_bump highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_caldera/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_caldera ex_caldera.cpp) 2 | target_link_libraries(ex_caldera highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_checkerboard/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_checkerboard ex_checkerboard.cpp) 2 | target_link_libraries(ex_checkerboard highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_checkerboard/ex_checkerboard.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 kw = {4.f, 3.f}; 7 | 8 | hmap::Array z = hmap::checkerboard(shape, kw); 9 | 10 | z.to_png("ex_checkerboard.png", hmap::Cmap::GRAY); 11 | } 12 | -------------------------------------------------------------------------------- /examples/ex_clamp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_clamp ex_clamp.cpp) 2 | target_link_libraries(ex_clamp highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cloud_get_convex_hull/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_cloud_get_convex_hull ex_cloud_get_convex_hull.cpp) 2 | target_link_libraries(ex_cloud_get_convex_hull highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cloud_sdf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_cloud_sdf ex_cloud_sdf.cpp) 2 | target_link_libraries(ex_cloud_sdf highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cloud_to_array_interp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_cloud_to_array_interp ex_cloud_to_array_interp.cpp) 2 | target_link_libraries(ex_cloud_to_array_interp highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_colorize_histogram/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_colorize_histogram ex_colorize_histogram.cpp) 2 | target_link_libraries(ex_colorize_histogram highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_colorize_histogram/ex_colorize_histogram.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float sigma = 0.2f; 7 | 8 | hmap::Array z = hmap::gaussian_pulse(shape, sigma); 9 | 10 | hmap::Tensor col3 = hmap::colorize_histogram(z); 11 | col3.to_png("ex_colorize_histrogram.png"); 12 | } 13 | -------------------------------------------------------------------------------- /examples/ex_colorize_slope_height_heatmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_colorize_slope_height_heatmap ex_colorize_slope_height_heatmap.cpp) 2 | target_link_libraries(ex_colorize_slope_height_heatmap highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_colorize_slope_height_heatmap/ex_colorize_slope_height_heatmap.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 kw = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise(hmap::NoiseType::PERLIN, shape, kw, seed); 10 | 11 | hmap::Tensor col3 = hmap::colorize_slope_height_heatmap(z, hmap::Cmap::JET); 12 | col3.to_png("ex_colorize_slope_height_heatmap.png"); 13 | } 14 | -------------------------------------------------------------------------------- /examples/ex_colorize_vec2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_colorize_vec2 ex_colorize_vec2.cpp) 2 | target_link_libraries(ex_colorize_vec2 highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_colorize_vec2/ex_colorize_vec2.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | 7 | hmap::Array x = hmap::slope(shape, 0.f, 1.f); 8 | hmap::Array y = hmap::slope(shape, 90.f, 1.f); 9 | 10 | hmap::Tensor col3 = hmap::colorize_vec2(x, y); 11 | col3.to_png("ex_colorize_vec2.png"); 12 | } 13 | -------------------------------------------------------------------------------- /examples/ex_colormaps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_colormaps ex_colormaps.cpp) 2 | target_link_libraries(ex_colormaps highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_colormaps_trivariate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_colormaps_trivariate ex_colormaps_trivariate.cpp) 2 | target_link_libraries(ex_colormaps_trivariate highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_connected_components/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_connected_components ex_connected_components.cpp) 2 | target_link_libraries(ex_connected_components highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_connected_components/ex_connected_components.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | uint seed = 5; 8 | 9 | hmap::Array z = hmap::noise(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::clamp_min(z, 0.f); 11 | 12 | hmap::Array labels = hmap::connected_components(z); 13 | 14 | z.to_png("ex_connected_components0.png", hmap::Cmap::INFERNO); 15 | labels.to_png("ex_connected_components1.png", hmap::Cmap::NIPY_SPECTRAL); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_convolve1d_ij/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_convolve1d_ij ex_convolve1d_ij.cpp) 2 | target_link_libraries(ex_convolve1d_ij highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_convolve1d_ij/ex_convolve1d_ij.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | std::vector k(32); 12 | std::fill(k.begin(), k.end(), 1.f / 32.f); 13 | 14 | auto zc = hmap::convolve1d_i(z, k); 15 | zc = hmap::convolve1d_j(zc, k); 16 | 17 | hmap::export_banner_png("ex_convolve1d_ij.png", {z, zc}, hmap::Cmap::VIRIDIS); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_convolve2d_svd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_convolve2d_svd ex_convolve2d_svd.cpp) 2 | target_link_libraries(ex_convolve2d_svd highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_convolve2d_svd_rotated_kernel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_convolve2d_svd_rotated_kernel ex_convolve2d_svd_rotated_kernel.cpp) 2 | target_link_libraries(ex_convolve2d_svd_rotated_kernel highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cracks/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_cracks ex_cracks.cpp) 2 | target_link_libraries(ex_cracks highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cracks/ex_cracks.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | shape = {1024, 1024}; 7 | hmap::Vec2 kw = {4.f, 4.f}; 8 | int seed = 1; 9 | 10 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, kw, seed); 11 | hmap::Array z2 = z1; 12 | 13 | hmap::recast_cracks(z1); 14 | 15 | float cut_min = 0.1; // drives width 16 | float cut_max = 0.9; // drives density 17 | 18 | hmap::recast_cracks(z2, cut_min, cut_max); 19 | 20 | hmap::export_banner_png("ex_cracks.png", {z1, z2}, hmap::Cmap::TERRAIN, true); 21 | } 22 | -------------------------------------------------------------------------------- /examples/ex_crater/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_crater ex_crater.cpp) 2 | target_link_libraries(ex_crater highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cubic_pulse_truncated/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_cubic_pulse_truncated ex_cubic_pulse_truncated.cpp) 2 | target_link_libraries(ex_cubic_pulse_truncated highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_cubic_pulse_truncated/ex_cubic_pulse_truncated.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float slant_ratio = 0.5f; 7 | float angle = 30.f; 8 | 9 | hmap::Array z = hmap::cubic_pulse_truncated(shape, slant_ratio, angle); 10 | z.to_png("ex_cubic_pulse_truncated.png", hmap::Cmap::VIRIDIS); 11 | } 12 | -------------------------------------------------------------------------------- /examples/ex_curvature_gaussian/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_curvature_gaussian ex_curvature_gaussian.cpp) 2 | target_link_libraries(ex_curvature_gaussian highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_dendry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_dendry ex_dendry.cpp) 2 | target_link_libraries(ex_dendry highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_detrend/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_detrend ex_detrend.cpp) 2 | target_link_libraries(ex_detrend highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_detrend/ex_detrend.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z0 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto z1 = detrend_reg(z0); 12 | 13 | hmap::export_banner_png("ex_detrend.png", {z0, z1}, hmap::Cmap::JET); 14 | } 15 | -------------------------------------------------------------------------------- /examples/ex_diffusion_limited_aggregation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_diffusion_limited_aggregation ex_diffusion_limited_aggregation.cpp) 2 | target_link_libraries(ex_diffusion_limited_aggregation highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_diffusion_limited_aggregation/ex_diffusion_limited_aggregation.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | int seed = 1; 7 | 8 | float scale = 1.f / 128.f; 9 | 10 | hmap::Array z = hmap::diffusion_limited_aggregation(shape, scale, seed); 11 | 12 | z.to_png("ex_diffusion_limited_aggregation.png", hmap::Cmap::TERRAIN, false); 13 | } 14 | -------------------------------------------------------------------------------- /examples/ex_diffusion_retargeting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_diffusion_retargeting ex_diffusion_retargeting.cpp) 2 | target_link_libraries(ex_diffusion_retargeting highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_dig_path/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_dig_path ex_dig_path.cpp) 2 | target_link_libraries(ex_dig_path highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_directional_blur/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_directional_blur ex_directional_blur.cpp) 2 | target_link_libraries(ex_directional_blur highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_disk/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_disk ex_disk.cpp) 2 | target_link_libraries(ex_disk highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_distance_transform/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_distance_transform ex_distance_transform.cpp) 2 | target_link_libraries(ex_distance_transform highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_downscale_transform/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_downscale_transform ex_downscale_transform.cpp) 2 | target_link_libraries(ex_downscale_transform highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_downscale_transform_multi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_downscale_transform_multi ex_downscale_transform_multi.cpp) 2 | target_link_libraries(ex_downscale_transform_multi highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_erosion_maps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_erosion_maps ex_erosion_maps.cpp) 2 | target_link_libraries(ex_erosion_maps highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_expand/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_expand ex_expand.cpp) 2 | target_link_libraries(ex_expand highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_expand_directional/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_expand_directional ex_expand_directional.cpp) 2 | target_link_libraries(ex_expand_directional highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_export_as_cubemap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_export_as_cubemap ex_export_as_cubemap.cpp) 2 | target_link_libraries(ex_export_as_cubemap highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_export_as_cubemap/ex_export_as_cubemap.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {1024, 1024}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 0; 8 | 9 | hmap::Array z = hmap::noise_ridged(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | hmap::hydraulic_stream(z, &z, 0.05f, 4.f / shape.x); 12 | 13 | hmap::export_as_cubemap("ex_export_as_cubemap.png", z); 14 | } 15 | -------------------------------------------------------------------------------- /examples/ex_export_asset/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_export_asset ex_export_asset.cpp) 2 | target_link_libraries(ex_export_asset highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_export_normal_map/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_export_normal_map ex_export_normal_map.cpp) 2 | target_link_libraries(ex_export_normal_map highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_export_normal_map/ex_export_normal_map.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | 6 | const hmap::Vec2 shape = {512, 512}; 7 | const hmap::Vec2 res = {1.f, 4.f}; 8 | int seed = 0; 9 | 10 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::remap(z1); 12 | 13 | // create Array from png 14 | hmap::export_normal_map_png("ex_export_normal_map0.png", z1, CV_8U); 15 | hmap::export_normal_map_png("ex_export_normal_map1.png", z1, CV_16U); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_export_splatmap_png_16bit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_export_splatmap_png_16bit ex_export_splatmap_png_16bit.cpp) 2 | target_link_libraries(ex_export_splatmap_png_16bit highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_faceted/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_faceted ex_faceted.cpp) 2 | target_link_libraries(ex_faceted highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_faceted/ex_faceted.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | hmap::Array z2 = hmap::faceted(z1, hmap::neighborhood::CROSS); 12 | 13 | hmap::export_banner_png("ex_faceted.png", {z1, z2}, hmap::Cmap::JET, true); 14 | } 15 | -------------------------------------------------------------------------------- /examples/ex_falloff/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_falloff ex_falloff.cpp) 2 | target_link_libraries(ex_falloff highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_field_function/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_field_function ex_field_function.cpp) 2 | target_link_libraries(ex_field_function highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_fill_array_using_xy_function/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_fill_array_using_xy_function ex_fill_array_using_xy_function.cpp) 2 | target_link_libraries(ex_fill_array_using_xy_function highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_fill_talus/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_fill_talus ex_fill_talus.cpp) 2 | target_link_libraries(ex_fill_talus highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_find_flow_sinks/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_find_flow_sinks ex_find_flow_sinks.cpp) 2 | target_link_libraries(ex_find_flow_sinks highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_find_flow_sinks/ex_find_flow_sinks.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "highmap.hpp" 4 | 5 | int main(void) 6 | { 7 | hmap::Vec2 shape = {256, 256}; 8 | hmap::Vec2 res = {4.f, 4.f}; 9 | int seed = 1; 10 | 11 | hmap::Array z = hmap::noise(hmap::NoiseType::SIMPLEX2, shape, res, seed); 12 | 13 | std::vector is, js; 14 | hmap::find_flow_sinks(z, is, js); 15 | 16 | for (size_t k = 0; k < is.size(); k++) 17 | std::cout << is[k] << " " << js[k] << "\n"; 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_find_path/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_find_path ex_find_path.cpp) 2 | target_link_libraries(ex_find_path highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_find_path_dijkstra/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_find_path_dijkstra ex_find_path_dijkstra.cpp) 2 | target_link_libraries(ex_find_path_dijkstra highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_flip_ud/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_flip_ud ex_flip_ud.cpp) 2 | target_link_libraries(ex_flip_ud highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_flip_ud/ex_flip_ud.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto z1 = z; 12 | hmap::flip_lr(z1); 13 | 14 | auto z2 = z; 15 | hmap::flip_ud(z2); 16 | 17 | hmap::export_banner_png("ex_flip_ud.png", {z, z1, z2}, hmap::Cmap::VIRIDIS); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_flood_fill/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_flood_fill ex_flood_fill.cpp) 2 | target_link_libraries(ex_flood_fill highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_flood_fill/ex_flood_fill.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | 7 | hmap::Array z = hmap::gaussian_pulse(shape, 32); 8 | hmap::remap(z); 9 | 10 | z = hmap::select_interval(z, 0.5f, 0.55f); 11 | 12 | auto z1 = z; 13 | hmap::flood_fill(z1, 128, 128); 14 | 15 | auto z2 = z; 16 | hmap::flood_fill(z2, 0, 0, 0.5f); 17 | 18 | z2.infos(); 19 | 20 | hmap::export_banner_png("ex_flood_fill.png", {z, z1, z2}, hmap::Cmap::GRAY); 21 | } 22 | -------------------------------------------------------------------------------- /examples/ex_flooding_from_point/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_flooding_from_point ex_flooding_from_point.cpp) 2 | target_link_libraries(ex_flooding_from_point highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_flow_accumulation_d8/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_flow_accumulation_d8 ex_flow_accumulation_d8.cpp) 2 | target_link_libraries(ex_flow_accumulation_d8 highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_flow_accumulation_d8/ex_flow_accumulation_d8.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto facc = hmap::flow_accumulation_d8(z); 12 | 13 | z.to_png("ex_flow_accumulation_d80.png", hmap::Cmap::TERRAIN, true); 14 | facc.to_png("ex_flow_accumulation_d81.png", hmap::Cmap::HOT); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_flow_accumulation_dinf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_flow_accumulation_dinf ex_flow_accumulation_dinf.cpp) 2 | target_link_libraries(ex_flow_accumulation_dinf highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_flow_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_flow_stream ex_flow_stream.cpp) 2 | target_link_libraries(ex_flow_stream highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_fold/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_fold ex_fold.cpp) 2 | target_link_libraries(ex_fold highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_from_cv_mat/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_from_cv_mat ex_from_cv_mat.cpp) 2 | target_link_libraries(ex_from_cv_mat highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_from_numpy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_from_numpy ex_from_numpy.cpp) 2 | target_link_libraries(ex_from_numpy highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_from_numpy/ex_from_numpy.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "highmap.hpp" 4 | 5 | int main(void) 6 | { 7 | hmap::Vec2 shape = {512, 256}; 8 | hmap::Vec2 res = {4.f, 2.f}; 9 | int seed = 1; 10 | 11 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 12 | 13 | z1.to_numpy("out.npy"); 14 | 15 | hmap::Array z2; 16 | z2.from_numpy("out.npy"); 17 | 18 | hmap::export_banner_png("ex_from_numpy.png", {z1, z2}, hmap::Cmap::INFERNO); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_gabor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gabor ex_gabor.cpp) 2 | target_link_libraries(ex_gabor highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gabor/ex_gabor.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float kw = 4.f; 7 | float angle = 30.f; 8 | 9 | hmap::Array z = hmap::gabor(shape, kw, angle); 10 | z.to_png("ex_gabor.png", hmap::Cmap::VIRIDIS); 11 | } 12 | -------------------------------------------------------------------------------- /examples/ex_gabor_dune/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gabor_dune ex_gabor_dune.cpp) 2 | target_link_libraries(ex_gabor_dune highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gabor_dune/ex_gabor_dune.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float kw = 8.f; 7 | float angle = 30.f; 8 | float xtop = 0.7f; 9 | float xbottom = 1.f; 10 | 11 | hmap::Array z = hmap::gabor_dune(shape, kw, angle, xtop, xbottom); 12 | z.to_png("ex_gabor_dune.png", hmap::Cmap::VIRIDIS); 13 | } 14 | -------------------------------------------------------------------------------- /examples/ex_gabor_noise/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gabor_noise ex_gabor_noise.cpp) 2 | target_link_libraries(ex_gabor_noise highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gabor_noise/ex_gabor_noise.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float kw = 4.f; 7 | float angle = 30.f; 8 | int width = 32; 9 | float density = 0.05f; 10 | uint seed = 1; 11 | 12 | hmap::Array z = hmap::gabor_noise(shape, kw, angle, width, density, seed); 13 | z.to_png("ex_gabor_noise.png", hmap::Cmap::VIRIDIS); 14 | } 15 | -------------------------------------------------------------------------------- /examples/ex_gabor_wave/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gabor_wave ex_gabor_wave.cpp) 2 | target_link_libraries(ex_gabor_wave highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gain/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gain ex_gain.cpp) 2 | target_link_libraries(ex_gain highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gain/ex_gain.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | hmap::gain(z, 2.f); 12 | z.to_png("ex_gain.png", hmap::Cmap::VIRIDIS); 13 | } 14 | -------------------------------------------------------------------------------- /examples/ex_gamma_correction/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gamma_correction ex_gamma_correction.cpp) 2 | target_link_libraries(ex_gamma_correction highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gamma_correction/ex_gamma_correction.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | hmap::gamma_correction(z, 0.5f); 12 | z.to_png("ex_gamma_correction.png", hmap::Cmap::VIRIDIS); 13 | } 14 | -------------------------------------------------------------------------------- /examples/ex_gamma_correction_local/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gamma_correction_local ex_gamma_correction_local.cpp) 2 | target_link_libraries(ex_gamma_correction_local highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gamma_correction_local/ex_gamma_correction_local.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int ir = 8; 9 | float k_smoothing = 0.1f; 10 | 11 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 12 | hmap::remap(z); 13 | hmap::gamma_correction_local(z, 0.5f, ir, k_smoothing); 14 | z.to_png("ex_gamma_correction_local.png", hmap::Cmap::VIRIDIS); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_gaussian_decay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gaussian_decay ex_gaussian_decay.cpp) 2 | target_link_libraries(ex_gaussian_decay highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gaussian_decay/ex_gaussian_decay.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z, -1.f, 1.f); 11 | 12 | float sigma = 0.5f; 13 | hmap::Array zg = hmap::gaussian_decay(z, sigma); 14 | 15 | hmap::export_banner_png("ex_gaussian_decay.png", 16 | {z, zg}, 17 | hmap::Cmap::VIRIDIS); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_gaussian_pulse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gaussian_pulse ex_gaussian_pulse.cpp) 2 | target_link_libraries(ex_gaussian_pulse highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gavoronoise/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gavoronoise ex_gavoronoise.cpp) 2 | target_link_libraries(ex_gavoronoise highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_generate_network_alpha_model/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_generate_network_alpha_model ex_generate_network_alpha_model.cpp) 2 | target_link_libraries(ex_generate_network_alpha_model highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_generate_riverbed/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_generate_riverbed ex_generate_riverbed.cpp) 2 | target_link_libraries(ex_generate_riverbed highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_geomorphons/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_geomorphons ex_geomorphons.cpp) 2 | target_link_libraries(ex_geomorphons highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gpu_opencl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gpu_opencl ex_gpu_opencl.cpp) 2 | target_link_libraries(ex_gpu_opencl highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_gradient_norm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_gradient_norm ex_gradient_norm.cpp) 2 | target_link_libraries(ex_gradient_norm highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_graph/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_graph ex_graph.cpp) 2 | target_link_libraries(ex_graph highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_graph/ex_graph.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | int seed = 1; 6 | 7 | hmap::Vec4 bbox = {-1.f, 2.f, 0.f, 5.f}; 8 | 9 | // create a cloud of points and convert it to a graph using Delaunay 10 | // triangulation 11 | int npoints = 10; 12 | hmap::Cloud cloud = hmap::Cloud(npoints, seed, bbox); 13 | hmap::Graph graph = cloud.to_graph_delaunay(); 14 | 15 | graph.print(); 16 | graph.to_png("ex_graph0.png"); 17 | 18 | graph.update_adjacency_matrix(); 19 | graph.to_csv("ex_graph_nodes.csv", "ex_graph_adj.csv"); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_graph_dijkstra/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_graph_dijkstra ex_graph_dijkstra.cpp) 2 | target_link_libraries(ex_graph_dijkstra highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_graph_minimum_spanning_tree_prim/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_graph_minimum_spanning_tree_prim ex_graph_minimum_spanning_tree_prim.cpp) 2 | target_link_libraries(ex_graph_minimum_spanning_tree_prim highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_graph_sdf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_graph_sdf ex_graph_sdf.cpp) 2 | target_link_libraries(ex_graph_sdf highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_grid_from_array/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_grid_from_array ex_grid_from_array.cpp) 2 | target_link_libraries(ex_grid_from_array highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_heightmap_fill/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_heightmap_fill ex_heightmap_fill.cpp) 2 | target_link_libraries(ex_heightmap_fill highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_heightmap_from_array/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_heightmap_from_array ex_heightmap_from_array.cpp) 2 | target_link_libraries(ex_heightmap_from_array highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_heightmap_rgb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_heightmap_rgb ex_heightmap_rgb.cpp) 2 | target_link_libraries(ex_heightmap_rgb highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_heightmap_rgba/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_heightmap_rgba ex_heightmap_rgba.cpp) 2 | target_link_libraries(ex_heightmap_rgba highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_heightmap_transform/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_heightmap_transform ex_heightmap_transform.cpp) 2 | target_link_libraries(ex_heightmap_transform highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hillshade/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hillshade ex_hillshade.cpp) 2 | target_link_libraries(ex_hillshade highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_algebric/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_algebric ex_hydraulic_algebric.cpp) 2 | target_link_libraries(ex_hydraulic_algebric highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_benes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_benes ex_hydraulic_benes.cpp) 2 | target_link_libraries(ex_hydraulic_benes highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_benes/ex_hydraulic_benes.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | auto z0 = z; 12 | 13 | hmap::hydraulic_benes(z, 50); 14 | 15 | hmap::export_banner_png("ex_hydraulic_benes.png", 16 | {z0, z}, 17 | hmap::Cmap::TERRAIN, 18 | true); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_blur/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_blur ex_hydraulic_blur.cpp) 2 | target_link_libraries(ex_hydraulic_blur highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_diffusion/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_diffusion ex_hydraulic_diffusion.cpp) 2 | target_link_libraries(ex_hydraulic_diffusion highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_musgrave/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_musgrave ex_hydraulic_musgrave.cpp) 2 | target_link_libraries(ex_hydraulic_musgrave highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_musgrave/ex_hydraulic_musgrave.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z0 = z; 11 | 12 | hmap::hydraulic_musgrave(z); 13 | 14 | hmap::export_banner_png("ex_hydraulic_musgrave.png", 15 | {z0, z}, 16 | hmap::Cmap::TERRAIN, 17 | true); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_particle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_particle ex_hydraulic_particle.cpp) 2 | target_link_libraries(ex_hydraulic_particle highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_particle_multiscale/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_particle_multiscale ex_hydraulic_particle_multiscale.cpp) 2 | target_link_libraries(ex_hydraulic_particle_multiscale highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_procedural/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_procedural ex_hydraulic_procedural.cpp) 2 | target_link_libraries(ex_hydraulic_procedural highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_schott/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_schott ex_hydraulic_schott.cpp) 2 | target_link_libraries(ex_hydraulic_schott highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_stream ex_hydraulic_stream.cpp) 2 | target_link_libraries(ex_hydraulic_stream highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_stream_upscale_amplification/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_stream_upscale_amplification ex_hydraulic_stream_upscale_amplification.cpp) 2 | target_link_libraries(ex_hydraulic_stream_upscale_amplification highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_vpipes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_hydraulic_vpipes ex_hydraulic_vpipes.cpp) 2 | target_link_libraries(ex_hydraulic_vpipes highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_hydraulic_vpipes/ex_hydraulic_vpipes.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {512, 512}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 2; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | auto z0 = z; 12 | 13 | hmap::hydraulic_vpipes(z, 300); 14 | 15 | z.infos(); 16 | 17 | hmap::export_banner_png("ex_hydraulic_vpipes.png", 18 | {z0, z}, 19 | hmap::Cmap::TERRAIN); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_inpainting_diffusion/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_inpainting_diffusion ex_inpainting_diffusion.cpp) 2 | target_link_libraries(ex_inpainting_diffusion highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_interpolate1d/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_interpolate1d ex_interpolate1d.cpp) 2 | target_link_libraries(ex_interpolate1d highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_interpolate2d/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_interpolate2d ex_interpolate2d.cpp) 2 | target_link_libraries(ex_interpolate2d highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_interpolate_curve/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_interpolate_curve ex_interpolate_curve.cpp) 2 | target_link_libraries(ex_interpolate_curve highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_kernel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_kernel ex_kernel.cpp) 2 | target_link_libraries(ex_kernel highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_kmeans_clustering/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_kmeans_clustering ex_kmeans_clustering.cpp) 2 | target_link_libraries(ex_kmeans_clustering highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_kuwahara/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_kuwahara ex_kuwahara.cpp) 2 | target_link_libraries(ex_kuwahara highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_kuwahara/ex_kuwahara.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto z1 = z; 12 | int ir = 8; 13 | hmap::kuwahara(z1, ir); 14 | 15 | auto z2 = z; 16 | float mix = 0.25f; 17 | hmap::kuwahara(z2, ir, mix); 18 | 19 | hmap::export_banner_png("ex_kuwahara.png", {z, z1, z2}, hmap::Cmap::INFERNO); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_laplace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_laplace ex_laplace.cpp) 2 | target_link_libraries(ex_laplace highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_low_pass_high_order/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_low_pass_high_order ex_low_pass_high_order.cpp) 2 | target_link_libraries(ex_low_pass_high_order highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_low_pass_high_order/ex_low_pass_high_order.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto zf = z; 12 | int order = 7; 13 | hmap::low_pass_high_order(zf, order); 14 | 15 | hmap::export_banner_png("ex_low_pass_high_order.png", 16 | {z, zf}, 17 | hmap::Cmap::VIRIDIS); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_make_periodic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_make_periodic ex_make_periodic.cpp) 2 | target_link_libraries(ex_make_periodic highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_make_periodic_stitching/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_make_periodic_stitching ex_make_periodic_stitching.cpp) 2 | target_link_libraries(ex_make_periodic_stitching highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_make_periodic_tiling/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_make_periodic_tiling ex_make_periodic_tiling.cpp) 2 | target_link_libraries(ex_make_periodic_tiling highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_make_periodic_tiling/ex_make_periodic_tiling.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 kw = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, kw, seed); 10 | float overlap = 0.5f; 11 | 12 | hmap::Vec2 tiling = {4, 3}; 13 | 14 | auto zp = hmap::make_periodic_tiling(z, overlap, tiling); 15 | 16 | hmap::export_banner_png("ex_make_periodic_tiling.png", 17 | {z, zp}, 18 | hmap::Cmap::TERRAIN); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_match_histogram/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_match_histogram ex_match_histogram.cpp) 2 | target_link_libraries(ex_match_histogram highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_maximum_local/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_maximum_local ex_maximum_local.cpp) 2 | target_link_libraries(ex_maximum_local highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_mean_local/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_mean_local ex_mean_local.cpp) 2 | target_link_libraries(ex_mean_local highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_mean_local/ex_mean_local.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int radius = 10; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array zm = hmap::mean_local(z, radius); 12 | 13 | z.to_png("ex_mean_local0.png", hmap::Cmap::VIRIDIS); 14 | zm.to_png("ex_mean_local1.png", hmap::Cmap::VIRIDIS); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_mean_shift/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_mean_shift ex_mean_shift.cpp) 2 | target_link_libraries(ex_mean_shift highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_mean_shift/ex_mean_shift.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 kw = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, kw, seed); 10 | 11 | int ir = 32; 12 | float talus = 16.f / (float)shape.x; 13 | int iterations = 4; 14 | 15 | hmap::Array zm = hmap::mean_shift(z, ir, talus, iterations); 16 | 17 | zm.to_png_grayscale("out.png", CV_16U); 18 | 19 | hmap::export_banner_png("ex_mean_shift.png", {z, zm}, hmap::Cmap::JET); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_median_3x3/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_median_3x3 ex_median_3x3.cpp) 2 | target_link_libraries(ex_median_3x3 highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_median_3x3/ex_median_3x3.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | z += 0.1f * hmap::white(shape, 0.f, 1.f, seed); 11 | auto z0 = z; 12 | 13 | hmap::median_3x3(z); 14 | 15 | hmap::export_banner_png("ex_median_3x3.png", {z0, z}, hmap::Cmap::VIRIDIS); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_mix_normal_map_rgba/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_mix_normal_map_rgba ex_mix_normal_map_rgba.cpp) 2 | target_link_libraries(ex_mix_normal_map_rgba highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_mixer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_mixer ex_mixer.cpp) 2 | target_link_libraries(ex_mixer highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_morphology_base/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_morphology_base ex_morphology_base.cpp) 2 | target_link_libraries(ex_morphology_base highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_mountain_range_radial/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_mountain_range_radial ex_mountain_range_radial.cpp) 2 | target_link_libraries(ex_mountain_range_radial highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_mountain_range_radial/ex_mountain_range_radial.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::gpu::init_opencl(); 6 | 7 | hmap::Vec2 shape = {256, 256}; 8 | shape = {1024, 1024}; 9 | hmap::Vec2 kw = {8.f, 8.f}; 10 | int seed = 1; 11 | 12 | hmap::Array z1 = hmap::gpu::mountain_range_radial(shape, kw, seed); 13 | 14 | hmap::export_banner_png("ex_mountain_range_radial.png", 15 | {z1}, 16 | hmap::Cmap::JET, 17 | true); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_noise/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_noise ex_noise.cpp) 2 | target_link_libraries(ex_noise highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_noise_fbm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_noise_fbm ex_noise_fbm.cpp) 2 | target_link_libraries(ex_noise_fbm highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_noise_function/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_noise_function ex_noise_function.cpp) 2 | target_link_libraries(ex_noise_function highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_non_parametric_sampling/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_non_parametric_sampling ex_non_parametric_sampling.cpp) 2 | target_link_libraries(ex_non_parametric_sampling highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_normal_displacement/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_normal_displacement ex_normal_displacement.cpp) 2 | target_link_libraries(ex_normal_displacement highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_normal_displacement/ex_normal_displacement.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | hmap::Array mask = z1; 12 | hmap::remap(mask); 13 | 14 | hmap::Array z2 = z1; 15 | hmap::normal_displacement(z2, &mask, 5.f, 4, false); 16 | 17 | hmap::export_banner_png("ex_normal_displacement.png", 18 | {z1, z2}, 19 | hmap::Cmap::TERRAIN); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_normal_map_to_heightmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_normal_map_to_heightmap ex_normal_map_to_heightmap.cpp) 2 | target_link_libraries(ex_normal_map_to_heightmap highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_paraboloid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_paraboloid ex_paraboloid.cpp) 2 | target_link_libraries(ex_paraboloid highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_paraboloid/ex_paraboloid.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float angle = 15.f; 7 | 8 | auto z = hmap::paraboloid(shape, angle, 1.f, 0.5f); 9 | 10 | z.to_png("ex_paraboloid.png", hmap::Cmap::INFERNO); 11 | } 12 | -------------------------------------------------------------------------------- /examples/ex_path/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path ex_path.cpp) 2 | target_link_libraries(ex_path highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_bezier/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_bezier ex_path_bezier.cpp) 2 | target_link_libraries(ex_path_bezier highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_bezier_round/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_bezier_round ex_path_bezier_round.cpp) 2 | target_link_libraries(ex_path_bezier_round highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_bspline/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_bspline ex_path_bspline.cpp) 2 | target_link_libraries(ex_path_bspline highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_bspline/ex_path_bspline.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | int seed = 6; 7 | 8 | hmap::Vec4 bbox = {1.f, 2.f, -0.5f, 0.5f}; 9 | hmap::Path path = hmap::Path(10, seed, {1.2f, 1.8f, -0.3, 0.3f}); 10 | path.reorder_nns(); 11 | 12 | auto z1 = hmap::Array(shape); 13 | path.to_array(z1, bbox); 14 | 15 | auto z2 = hmap::Array(shape); 16 | path.bspline(); 17 | path.to_array(z2, bbox); 18 | 19 | hmap::export_banner_png("ex_path_bspline.png", {z1, z2}, hmap::Cmap::INFERNO); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_path_catmullrom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_catmullrom ex_path_catmullrom.cpp) 2 | target_link_libraries(ex_path_catmullrom highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_decasteljau/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_decasteljau ex_path_decasteljau.cpp) 2 | target_link_libraries(ex_path_decasteljau highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_decimate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_decimate ex_path_decimate.cpp) 2 | target_link_libraries(ex_path_decimate highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_dijkstra/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_dijkstra ex_path_dijkstra.cpp) 2 | target_link_libraries(ex_path_dijkstra highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_flood_fill/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_flood_fill ex_path_flood_fill.cpp) 2 | target_link_libraries(ex_path_flood_fill highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_fractalize/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_fractalize ex_path_fractalize.cpp) 2 | target_link_libraries(ex_path_fractalize highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_meanderize/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_meanderize ex_path_meanderize.cpp) 2 | target_link_libraries(ex_path_meanderize highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_sdf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_sdf ex_path_sdf.cpp) 2 | target_link_libraries(ex_path_sdf highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_path_smooth/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_path_smooth ex_path_smooth.cpp) 2 | target_link_libraries(ex_path_smooth highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_peak/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_peak ex_peak.cpp) 2 | target_link_libraries(ex_peak highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_phase_field/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_phase_field ex_phase_field.cpp) 2 | target_link_libraries(ex_phase_field highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_phasor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_phasor ex_phasor.cpp) 2 | target_link_libraries(ex_phasor highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_plateau/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_plateau ex_plateau.cpp) 2 | target_link_libraries(ex_plateau highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_plateau/ex_plateau.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto zp = z; 12 | hmap::plateau(zp, 64, 4.f); 13 | 14 | hmap::export_banner_png("ex_plateau.png", {z, zp}, hmap::Cmap::TERRAIN); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_point_interp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_point_interp ex_point_interp.cpp) 2 | target_link_libraries(ex_point_interp highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_pyramid_decomposition/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_pyramid_decomposition ex_pyramid_decomposition.cpp) 2 | target_link_libraries(ex_pyramid_decomposition highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_pyramid_transform/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_pyramid_transform ex_pyramid_transform.cpp) 2 | target_link_libraries(ex_pyramid_transform highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_quilting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_quilting ex_quilting.cpp) 2 | target_link_libraries(ex_quilting highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_radial_displacement_to_xy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_radial_displacement_to_xy ex_radial_displacement_to_xy.cpp) 2 | target_link_libraries(ex_radial_displacement_to_xy highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_radial_displacement_to_xy/ex_radial_displacement_to_xy.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array dr = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::Array dx, dy; 11 | 12 | hmap::radial_displacement_to_xy(dr, dx, dy); 13 | 14 | hmap::export_banner_png("ex_radial_displacement_to_xy.png", 15 | {dr, dx, dy}, 16 | hmap::Cmap::JET); 17 | } 18 | -------------------------------------------------------------------------------- /examples/ex_random_grid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_random_grid ex_random_grid.cpp) 2 | target_link_libraries(ex_random_grid highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_random_grid_density/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_random_grid_density ex_random_grid_density.cpp) 2 | target_link_libraries(ex_random_grid_density highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_read_to_array/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_read_to_array ex_read_to_array.cpp) 2 | target_link_libraries(ex_read_to_array highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_recast/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_recast ex_recast.cpp) 2 | target_link_libraries(ex_recast highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rectangle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_rectangle ex_rectangle.cpp) 2 | target_link_libraries(ex_rectangle highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_recurve/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_recurve ex_recurve.cpp) 2 | target_link_libraries(ex_recurve highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_recurve_xxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_recurve_xxx ex_recurve_xxx.cpp) 2 | target_link_libraries(ex_recurve_xxx highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_relative_elevation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_relative_elevation ex_relative_elevation.cpp) 2 | target_link_libraries(ex_relative_elevation highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_relative_elevation/ex_relative_elevation.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | int ir = 32; 13 | auto zr = hmap::relative_elevation(z, ir); 14 | 15 | hmap::export_banner_png("ex_relative_elevation.png", 16 | {z, zr}, 17 | hmap::Cmap::TERRAIN); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_remap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_remap ex_remap.cpp) 2 | target_link_libraries(ex_remap highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_remap/ex_remap.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "highmap.hpp" 4 | 5 | int main(void) 6 | { 7 | hmap::Vec2 shape = {256, 256}; 8 | hmap::Vec2 res = {4.f, 4.f}; 9 | int seed = 1; 10 | 11 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 12 | std::cout << z.min() << " " << z.max() << std::endl; 13 | 14 | hmap::remap(z, 0.f, 1.f); 15 | std::cout << z.min() << " " << z.max() << std::endl; 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_resample_to_shape/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_resample_to_shape ex_resample_to_shape.cpp) 2 | target_link_libraries(ex_resample_to_shape highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_resample_to_shape/ex_resample_to_shape.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto zr = z.resample_to_shape({32, 32}); 12 | 13 | zr.to_png("ex_resample_to_shape.png", hmap::Cmap::VIRIDIS); 14 | } 15 | -------------------------------------------------------------------------------- /examples/ex_rescale/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_rescale ex_rescale.cpp) 2 | target_link_libraries(ex_rescale highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rescale/ex_rescale.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z1); 11 | 12 | auto z2 = z1; 13 | hmap::rescale(z2, 0.5f); 14 | 15 | auto z3 = z1; 16 | float vref = z1.mean(); 17 | hmap::rescale(z3, 0.5f, vref); 18 | 19 | hmap::export_banner_png("ex_rescale.png", {z1, z2, z3}, hmap::Cmap::INFERNO); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_reverse_midpoint/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_reverse_midpoint ex_reverse_midpoint.cpp) 2 | target_link_libraries(ex_reverse_midpoint highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_ridgelines/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_ridgelines ex_ridgelines.cpp) 2 | target_link_libraries(ex_ridgelines highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_ridgelines_bezier/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_ridgelines_bezier ex_ridgelines_bezier.cpp) 2 | target_link_libraries(ex_ridgelines_bezier highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rift/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_rift ex_rift.cpp) 2 | target_link_libraries(ex_rift highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rot90/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_rot90 ex_rot90.cpp) 2 | target_link_libraries(ex_rot90 highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rot90/ex_rot90.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto z1 = z; 12 | hmap::rot90(z1); 13 | 14 | hmap::export_banner_png("ex_rot90.png", {z, z1}, hmap::Cmap::INFERNO); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_rotate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_rotate ex_rotate.cpp) 2 | target_link_libraries(ex_rotate highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rotate/ex_rotate.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto z1 = z; 12 | hmap::rotate(z1, 30.f); 13 | 14 | hmap::export_banner_png("ex_rotate.png", {z, z1}, hmap::Cmap::VIRIDIS); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_ruggedness/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_ruggedness ex_ruggedness.cpp) 2 | target_link_libraries(ex_ruggedness highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_ruggedness/ex_ruggedness.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int ir = 5; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array c = hmap::ruggedness(z, ir); 12 | 13 | z.to_png("ex_ruggedness0.png", hmap::Cmap::INFERNO); 14 | c.to_png("ex_ruggedness1.png", hmap::Cmap::INFERNO); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_rugosity/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_rugosity ex_rugosity.cpp) 2 | target_link_libraries(ex_rugosity highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_rugosity/ex_rugosity.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int ir = 5; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array c = hmap::rugosity(z, ir); 12 | 13 | z.to_png("ex_rugosity0.png", hmap::Cmap::VIRIDIS); 14 | c.to_png("ex_rugosity1.png", hmap::Cmap::VIRIDIS); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_saturate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_saturate ex_saturate.cpp) 2 | target_link_libraries(ex_saturate highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_saturate/ex_saturate.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto zs = z; 12 | float vmin = -0.2f; 13 | float vmax = 0.2f; 14 | float k = 0.1f; 15 | hmap::saturate(zs, vmin, vmax, k); 16 | 17 | hmap::export_banner_png("ex_saturate.png", {z, zs}, hmap::Cmap::MAGMA); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_scan_mask/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_scan_mask ex_scan_mask.cpp) 2 | target_link_libraries(ex_scan_mask highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_scan_mask/ex_scan_mask.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | // contrast / brightness 13 | auto z1 = hmap::scan_mask(z, 0.8f, 0.5f); 14 | auto z2 = hmap::scan_mask(z, 0.5f, 0.2f); 15 | 16 | hmap::export_banner_png("ex_scan_mask.png", {z, z1, z2}, hmap::Cmap::MAGMA); 17 | } 18 | -------------------------------------------------------------------------------- /examples/ex_sdf_polyline/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_sdf_polyline ex_sdf_polyline.cpp) 2 | target_link_libraries(ex_sdf_polyline highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_sediment_deposition/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_sediment_deposition ex_sediment_deposition.cpp) 2 | target_link_libraries(ex_sediment_deposition highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_sediment_deposition_particle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_sediment_deposition_particle ex_sediment_deposition_particle.cpp) 2 | target_link_libraries(ex_sediment_deposition_particle highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_sediment_layer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_sediment_layer ex_sediment_layer.cpp) 2 | target_link_libraries(ex_sediment_layer highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select ex_select.cpp) 2 | target_link_libraries(ex_select highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_angle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_angle ex_select_angle.cpp) 2 | target_link_libraries(ex_select_angle highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_angle/ex_select_angle.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | // select angle 90° +- 30° 13 | float angle = 90.f; 14 | float sigma = 30.f; 15 | 16 | hmap::Array c = hmap::select_angle(z, angle, sigma); 17 | 18 | hmap::export_banner_png("ex_select_angle.png", {z, c}, hmap::Cmap::JET); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_select_blob/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_blob ex_select_blob.cpp) 2 | target_link_libraries(ex_select_blob highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_blob/ex_select_blob.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | int ir = 32; 12 | hmap::Array c = hmap::select_blob_log(z, ir); 13 | 14 | z.to_png("ex_select_blob0.png", hmap::Cmap::VIRIDIS); 15 | c.to_png("ex_select_blob1.png", hmap::Cmap::VIRIDIS); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_select_cavities/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_cavities ex_select_cavities.cpp) 2 | target_link_libraries(ex_select_cavities highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_elevation_slope/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_elevation_slope ex_select_elevation_slope.cpp) 2 | target_link_libraries(ex_select_elevation_slope highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_elevation_slope/ex_select_elevation_slope.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z, -1.f, 2.f); 11 | 12 | float gradient_scale = 0.05f; 13 | hmap::Array c = hmap::select_elevation_slope(z, gradient_scale); 14 | 15 | z.to_png("ex_select_elevation_slope0.png", hmap::Cmap::JET); 16 | c.to_png("ex_select_elevation_slope1.png", hmap::Cmap::JET); 17 | } 18 | -------------------------------------------------------------------------------- /examples/ex_select_inward_outward_slope/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_inward_outward_slope ex_select_inward_outward_slope.cpp) 2 | target_link_libraries(ex_select_inward_outward_slope highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_inward_outward_slope/ex_select_inward_outward_slope.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | hmap::Array c = hmap::select_inward_outward_slope(z); 13 | hmap::remap(c); 14 | 15 | hmap::export_banner_png("ex_select_inward_outward_slope.png", 16 | {z, c}, 17 | hmap::Cmap::MAGMA); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_select_midrange/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_midrange ex_select_midrange.cpp) 2 | target_link_libraries(ex_select_midrange highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_midrange/ex_select_midrange.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | float gain = 1.f; 12 | hmap::Array c = hmap::select_midrange(z, gain); 13 | 14 | hmap::export_banner_png("ex_select_midrange.png", {z, c}, hmap::Cmap::MAGMA); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_select_multiband3/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_multiband3 ex_select_multiband3.cpp) 2 | target_link_libraries(ex_select_multiband3 highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_pulse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_pulse ex_select_pulse.cpp) 2 | target_link_libraries(ex_select_pulse highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_pulse/ex_select_pulse.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | // select values in [0.3, 0.7] with a smooth transition 13 | hmap::Array c = hmap::select_pulse(z, 0.5f, 0.2f); 14 | hmap::remap(c); 15 | 16 | hmap::export_banner_png("ex_select_pulse.png", {z, c}, hmap::Cmap::INFERNO); 17 | } 18 | -------------------------------------------------------------------------------- /examples/ex_select_rivers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_rivers ex_select_rivers.cpp) 2 | target_link_libraries(ex_select_rivers highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_rivers/ex_select_rivers.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | float talus_ref = 4.f; 13 | float clipping_ratio = 50.f; 14 | 15 | hmap::Array c = hmap::select_rivers(z, talus_ref, clipping_ratio); 16 | hmap::remap(c); 17 | 18 | hmap::export_banner_png("ex_select_rivers.png", {z, c}, hmap::Cmap::INFERNO); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_select_transitions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_transitions ex_select_transitions.cpp) 2 | target_link_libraries(ex_select_transitions highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_valley/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_select_valley ex_select_valley.cpp) 2 | target_link_libraries(ex_select_valley highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_select_valley/ex_select_valley.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 2; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | hmap::remap(z); 11 | 12 | int ir = 32; 13 | hmap::Array w = hmap::select_valley(z, ir, true); 14 | 15 | hmap::export_banner_png("ex_select_valley.png", {z, w}, hmap::Cmap::INFERNO); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_set_borders/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_set_borders ex_set_borders.cpp) 2 | target_link_libraries(ex_set_borders highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_set_borders/ex_set_borders.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | float value = 0.f; 9 | int nbuffer = 100; 10 | 11 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 12 | 13 | hmap::set_borders(z, value, nbuffer); 14 | z.to_png("ex_set_borders.png", hmap::Cmap::TERRAIN, true); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_sharpen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_sharpen ex_sharpen.cpp) 2 | target_link_libraries(ex_sharpen highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_sharpen/ex_sharpen.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z0 = z; 11 | 12 | hmap::sharpen(z); 13 | 14 | hstack(z0, z).to_png("ex_sharpen.png", hmap::Cmap::VIRIDIS); 15 | } 16 | -------------------------------------------------------------------------------- /examples/ex_sharpen_cone/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_sharpen_cone ex_sharpen_cone.cpp) 2 | target_link_libraries(ex_sharpen_cone highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_sharpen_cone/ex_sharpen_cone.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z0 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z1 = z0; 11 | 12 | int ir = 16; 13 | hmap::sharpen_cone(z1, ir); 14 | 15 | hmap::export_banner_png("ex_sharpen_clone.png", {z0, z1}, hmap::Cmap::JET); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_skeleton/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_skeleton ex_skeleton.cpp) 2 | target_link_libraries(ex_skeleton highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_slope/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_slope ex_slope.cpp) 2 | target_link_libraries(ex_slope highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smooth_cone/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smooth_cone ex_smooth_cone.cpp) 2 | target_link_libraries(ex_smooth_cone highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smooth_cone/ex_smooth_cone.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int radius = 16; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array z0 = z; 12 | 13 | hmap::smooth_cone(z, radius); 14 | 15 | hmap::export_banner_png("ex_smooth_cone.png", {z0, z}, hmap::Cmap::VIRIDIS); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_smooth_cpulse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smooth_cpulse ex_smooth_cpulse.cpp) 2 | target_link_libraries(ex_smooth_cpulse highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smooth_cpulse/ex_smooth_cpulse.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int radius = 20; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array z0 = z; 12 | 13 | hmap::smooth_cpulse(z, radius); 14 | 15 | hmap::export_banner_png("ex_smooth_cpulse.png", {z0, z}, hmap::Cmap::VIRIDIS); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_smooth_fill/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smooth_fill ex_smooth_fill.cpp) 2 | target_link_libraries(ex_smooth_fill highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smooth_fill/ex_smooth_fill.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | int radius = 32; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array z0 = z; 12 | 13 | hmap::smooth_fill(z, radius); 14 | 15 | hmap::export_banner_png("ex_smooth_fill.png", 16 | {z0, z}, 17 | hmap::Cmap::TERRAIN, 18 | true); 19 | z.to_file("out.bin"); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_smooth_fill_holes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smooth_fill_holes ex_smooth_fill_holes.cpp) 2 | target_link_libraries(ex_smooth_fill_holes highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smooth_gaussian/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smooth_gaussian ex_smooth_gaussian.cpp) 2 | target_link_libraries(ex_smooth_gaussian highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smooth_gaussian/ex_smooth_gaussian.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int radius = 10; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::Array z0 = z; 12 | 13 | hmap::smooth_gaussian(z, radius); 14 | 15 | hmap::export_banner_png("ex_smooth_gaussian.png", 16 | {z0, z}, 17 | hmap::Cmap::VIRIDIS); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_smoothstep/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smoothstep ex_smoothstep.cpp) 2 | target_link_libraries(ex_smoothstep highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smoothstep_local/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_smoothstep_local ex_smoothstep_local.cpp) 2 | target_link_libraries(ex_smoothstep_local highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_smoothstep_local/ex_smoothstep_local.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | int ir = 8; 9 | 10 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 11 | hmap::remap(z); 12 | 13 | auto z1 = z; 14 | hmap::smoothstep_local(z1, ir); 15 | 16 | hmap::export_banner_png("ex_smoothstep_local.png", 17 | {z, z1}, 18 | hmap::Cmap::INFERNO); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_stamping/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_stamping ex_stamping.cpp) 2 | target_link_libraries(ex_stamping highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_steepen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_steepen ex_steepen.cpp) 2 | target_link_libraries(ex_steepen highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_steepen/ex_steepen.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z1 = z; 11 | auto z2 = z; 12 | 13 | float scale = 0.05f; // not in pixels 14 | hmap::steepen(z1, scale); 15 | 16 | // using a negative scale will "flatten" the map 17 | hmap::steepen(z2, -scale); 18 | 19 | hmap::export_banner_png("ex_steepen.png", {z, z1, z2}, hmap::Cmap::TERRAIN); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_steepen_convective/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_steepen_convective ex_steepen_convective.cpp) 2 | target_link_libraries(ex_steepen_convective highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_step/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_step ex_step.cpp) 2 | target_link_libraries(ex_step highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_stratify/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_stratify ex_stratify.cpp) 2 | target_link_libraries(ex_stratify highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_stratify_multiscale/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_stratify_multiscale ex_stratify_multiscale.cpp) 2 | target_link_libraries(ex_stratify_multiscale highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_swirl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_swirl ex_swirl.cpp) 2 | target_link_libraries(ex_swirl highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_tensor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_tensor ex_tensor.cpp) 2 | target_link_libraries(ex_tensor highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_terrace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_terrace ex_terrace.cpp) 2 | target_link_libraries(ex_terrace highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_terrace/ex_terrace.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed++); 10 | 11 | int nlevels = 5; 12 | float gain = 2.f; 13 | float noise_ratio = 0.5f; 14 | 15 | auto zp = z; 16 | hmap::terrace(zp, seed, nlevels, &z, gain, noise_ratio); 17 | 18 | hmap::export_banner_png("ex_terrace.png", {z, zp}, hmap::Cmap::TERRAIN, true); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_terrain/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_terrain ex_terrain.cpp) 2 | target_link_libraries(ex_terrain highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_tessellate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_tessellate ex_tessellate.cpp) 2 | target_link_libraries(ex_tessellate highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_thermal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_thermal ex_thermal.cpp) 2 | target_link_libraries(ex_thermal highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_thermal/ex_thermal.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z0 = z; 11 | 12 | hmap::Array dmap = hmap::Array(shape); 13 | 14 | hmap::thermal(z, 0.1f / shape.x); 15 | 16 | hmap::export_banner_png("ex_thermal.png", {z0, z}, hmap::Cmap::TERRAIN, true); 17 | } 18 | -------------------------------------------------------------------------------- /examples/ex_thermal_auto_bedrock/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_thermal_auto_bedrock ex_thermal_auto_bedrock.cpp) 2 | target_link_libraries(ex_thermal_auto_bedrock highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_thermal_auto_bedrock/ex_thermal_auto_bedrock.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z0 = z; 11 | 12 | hmap::thermal_auto_bedrock(z, 0.5f / shape.x, 10); 13 | 14 | hmap::export_banner_png("ex_thermal_auto_bedrock.png", 15 | {z0, z}, 16 | hmap::Cmap::TERRAIN, 17 | true); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_thermal_flatten/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_thermal_flatten ex_thermal_flatten.cpp) 2 | target_link_libraries(ex_thermal_flatten highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_thermal_flatten/ex_thermal_flatten.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z0 = z; 11 | 12 | hmap::thermal_flatten(z, 8.f / shape.x, 10); 13 | 14 | hmap::export_banner_png("ex_thermal_flatten.png", 15 | {z0, z}, 16 | hmap::Cmap::TERRAIN, 17 | true); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_thermal_rib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_thermal_rib ex_thermal_rib.cpp) 2 | target_link_libraries(ex_thermal_rib highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_thermal_rib/ex_thermal_rib.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | auto z0 = z; 11 | 12 | hmap::thermal_rib(z, 50); 13 | 14 | hmap::export_banner_png("ex_thermal_rib.png", 15 | {z0, z}, 16 | hmap::Cmap::TERRAIN, 17 | true); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ex_thermal_ridge/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_thermal_ridge ex_thermal_ridge.cpp) 2 | target_link_libraries(ex_thermal_ridge highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_thermal_schott/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_thermal_schott ex_thermal_schott.cpp) 2 | target_link_libraries(ex_thermal_schott highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_to_cv_mat/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_to_cv_mat ex_to_cv_mat.cpp) 2 | target_link_libraries(ex_to_cv_mat highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_to_numpy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_to_numpy ex_to_numpy.cpp) 2 | target_link_libraries(ex_to_numpy highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_to_png/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_to_png ex_to_png.cpp) 2 | target_link_libraries(ex_to_png highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_translate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_translate ex_translate.cpp) 2 | target_link_libraries(ex_translate highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_translate/ex_translate.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto zt = hmap::translate(z, 0.25f, -0.1f, false); 12 | 13 | hmap::export_banner_png("ex_translate.png", {z, zt}, hmap::Cmap::JET); 14 | } 15 | -------------------------------------------------------------------------------- /examples/ex_unwrap_phase/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_unwrap_phase ex_unwrap_phase.cpp) 2 | target_link_libraries(ex_unwrap_phase highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_valley_width/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_valley_width ex_valley_width.cpp) 2 | target_link_libraries(ex_valley_width highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_valley_width/ex_valley_width.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | int ir = 8; 12 | hmap::Array w = hmap::valley_width(z, ir); 13 | 14 | z.to_png("ex_valley_width0.png", hmap::Cmap::TERRAIN); 15 | w.to_png("ex_valley_width1.png", hmap::Cmap::INFERNO); 16 | } 17 | -------------------------------------------------------------------------------- /examples/ex_voronoi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_voronoi ex_voronoi.cpp) 2 | target_link_libraries(ex_voronoi highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_voronoi_edge_distance/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_voronoi_edge_distance ex_voronoi_edge_distance.cpp) 2 | target_link_libraries(ex_voronoi_edge_distance highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_voronoise/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_voronoise ex_voronoise.cpp) 2 | target_link_libraries(ex_voronoise highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_warp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_warp ex_warp.cpp) 2 | target_link_libraries(ex_warp highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_warp_directional/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_warp_directional ex_warp_directional.cpp) 2 | target_link_libraries(ex_warp_directional highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_warp_downslope/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_warp_downslope ex_warp_downslope.cpp) 2 | target_link_libraries(ex_warp_downslope highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_warp_downslope/ex_warp_downslope.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {4.f, 4.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | hmap::Array mask = z1; 12 | hmap::remap(mask); 13 | 14 | hmap::Array z2 = z1; 15 | hmap::warp_downslope(z2, &mask, 0.02f, 4, false); 16 | 17 | hmap::export_banner_png("ex_warp_downslope.png", 18 | {z1, z2}, 19 | hmap::Cmap::TERRAIN); 20 | } 21 | -------------------------------------------------------------------------------- /examples/ex_wave/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_wave ex_wave.cpp) 2 | target_link_libraries(ex_wave highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_white/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_white ex_white.cpp) 2 | target_link_libraries(ex_white highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_white/ex_white.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | int seed = 1; 7 | 8 | hmap::Array z = hmap::white(shape, 0.f, 1.f, seed); 9 | z.to_png("ex_white.png", hmap::Cmap::VIRIDIS); 10 | } 11 | -------------------------------------------------------------------------------- /examples/ex_white_density_map/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_white_density_map ex_white_density_map.cpp) 2 | target_link_libraries(ex_white_density_map highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_white_sparse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_white_sparse ex_white_sparse.cpp) 2 | target_link_libraries(ex_white_sparse highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_white_sparse/ex_white_sparse.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | float density = 0.1f; 7 | int seed = 1; 8 | 9 | hmap::Array z = hmap::white_sparse(shape, 0.f, 1.f, density, seed); 10 | z.to_png("ex_white_sparse.png", hmap::Cmap::VIRIDIS); 11 | } 12 | -------------------------------------------------------------------------------- /examples/ex_worley_double/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_worley_double ex_worley_double.cpp) 2 | target_link_libraries(ex_worley_double highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_wrinkle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_wrinkle ex_wrinkle.cpp) 2 | target_link_libraries(ex_wrinkle highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_wrinkle/ex_wrinkle.cpp: -------------------------------------------------------------------------------- 1 | #include "highmap.hpp" 2 | 3 | int main(void) 4 | { 5 | hmap::Vec2 shape = {256, 256}; 6 | hmap::Vec2 res = {2.f, 2.f}; 7 | int seed = 1; 8 | 9 | hmap::Array z1 = hmap::noise_fbm(hmap::NoiseType::PERLIN, shape, res, seed); 10 | 11 | auto z2 = z1; 12 | float wrinkle_amplitude = 0.01f; 13 | hmap::wrinkle(z2, wrinkle_amplitude); 14 | 15 | hmap::export_banner_png("ex_wrinkle.png", 16 | {z1, z2}, 17 | hmap::Cmap::TERRAIN, 18 | true); 19 | } 20 | -------------------------------------------------------------------------------- /examples/ex_zeroed_edges/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_zeroed_edges ex_zeroed_edges.cpp) 2 | target_link_libraries(ex_zeroed_edges highmap) 3 | -------------------------------------------------------------------------------- /examples/ex_zoom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(ex_zoom ex_zoom.cpp) 2 | target_link_libraries(ex_zoom highmap) 3 | -------------------------------------------------------------------------------- /external/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(delaunator.cmake) 2 | include(dkm.cmake) 3 | include(FastNoiseLite.cmake) 4 | include(hmm.cmake) 5 | include(libnpy.cmake) 6 | include(macro-logger.cmake) 7 | 8 | add_subdirectory(Noise/NoiseLib) 9 | 10 | if(HIGHMAP_ENABLE_OPENCL) 11 | add_subdirectory(CLWrapper) 12 | endif() 13 | -------------------------------------------------------------------------------- /external/FastNoiseLite.cmake: -------------------------------------------------------------------------------- 1 | project(FastNoiseLite) 2 | 3 | set(FNL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/FastNoiseLite/Cpp) 4 | 5 | add_library(${PROJECT_NAME} INTERFACE) 6 | add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) 7 | 8 | target_include_directories(${PROJECT_NAME} INTERFACE ${FNL_DIR}) 9 | -------------------------------------------------------------------------------- /external/delaunator.cmake: -------------------------------------------------------------------------------- 1 | project(delaunator) 2 | 3 | set(DELAUNATOR_DIR ${CMAKE_CURRENT_SOURCE_DIR}/delaunator/include) 4 | 5 | add_library(${PROJECT_NAME} INTERFACE) 6 | add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) 7 | 8 | target_include_directories(${PROJECT_NAME} INTERFACE ${DELAUNATOR_DIR}) 9 | -------------------------------------------------------------------------------- /external/dkm.cmake: -------------------------------------------------------------------------------- 1 | project(dkm) 2 | 3 | set(DKM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dkm/include) 4 | 5 | add_library(${PROJECT_NAME} INTERFACE) 6 | add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) 7 | 8 | target_include_directories(${PROJECT_NAME} INTERFACE ${DKM_DIR}) 9 | -------------------------------------------------------------------------------- /external/hmm.cmake: -------------------------------------------------------------------------------- 1 | project(hmm) 2 | 3 | set(HMM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/hmm/src) 4 | 5 | set(HMM_SRC ${HMM_DIR}/base.cpp ${HMM_DIR}/blur.cpp ${HMM_DIR}/heightmap.cpp 6 | ${HMM_DIR}/triangulator.cpp) 7 | 8 | set(HMM_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 9 | 10 | add_library(${PROJECT_NAME} STATIC ${HMM_SRC}) 11 | add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) 12 | 13 | target_include_directories(${PROJECT_NAME} PUBLIC ${HMM_INCLUDE_DIR}) 14 | 15 | target_link_libraries(${PROJECT_NAME} glm::glm) 16 | -------------------------------------------------------------------------------- /external/libnpy.cmake: -------------------------------------------------------------------------------- 1 | project(libnpy) 2 | 3 | set(LIB_INTERPOLATE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libnpy/include) 4 | 5 | add_library(${PROJECT_NAME} INTERFACE) 6 | add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) 7 | 8 | target_include_directories(${PROJECT_NAME} INTERFACE ${LIB_INTERPOLATE_DIR}) 9 | -------------------------------------------------------------------------------- /external/macro-logger.cmake: -------------------------------------------------------------------------------- 1 | project(macro-logger) 2 | 3 | set(MACRO_LOGGER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/macro-logger/) 4 | 5 | add_library(${PROJECT_NAME} INTERFACE) 6 | add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) 7 | 8 | target_include_directories(${PROJECT_NAME} INTERFACE ${MACRO_LOGGER_DIR}) 9 | -------------------------------------------------------------------------------- /scripts/clang_style: -------------------------------------------------------------------------------- 1 | AlignConsecutiveDeclarations: true 2 | AlignOperands: true 3 | AllowAllArgumentsOnNextLine: false 4 | AllowAllParametersOfDeclarationOnNextLine: false 5 | AllowShortCaseLabelsOnASingleLine: true 6 | AllowShortFunctionsOnASingleLine: None 7 | AllowShortIfStatementsOnASingleLine: true 8 | 9 | ConstructorInitializerAllOnOneLineOrOnePerLine: true 10 | 11 | BasedOnStyle: llvm 12 | BinPackArguments: false 13 | BinPackParameters: false 14 | BreakBeforeBraces: Allman 15 | 16 | ColumnLimit: 80 17 | 18 | PenaltyBreakAssignment: 200 19 | PenaltyReturnTypeOnItsOwnLine: 1000 20 | -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file( 2 | GLOB TESTS 3 | LIST_DIRECTORIES true 4 | "*") 5 | foreach(item ${TESTS}) 6 | if(IS_DIRECTORY ${item}) 7 | add_subdirectory(${item}) 8 | endif() 9 | endforeach() 10 | -------------------------------------------------------------------------------- /tests/test_gpu_vs_cpu/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(test_gpu_vs_cpu main.cpp) 2 | target_link_libraries(test_gpu_vs_cpu highmap) 3 | --------------------------------------------------------------------------------