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

Provides functions for synthesizing new heightmaps from input arrays. More...

Go to the source code of this file.

Namespaces

namespace  hmap
 

Functions

Array hmap::non_parametric_sampling (const Array &array, hmap::Vec2< int > patch_shape, uint seed, float error_threshold=0.1f)
 Synthesize a new heightmap based on an input array using a non-parametric sampling method.
 
Array hmap::quilting (const std::vector< const Array * > &p_arrays, hmap::Vec2< int > patch_base_shape, hmap::Vec2< int > tiling, float overlap, uint seed, std::vector< Array * > secondary_arrays={}, bool patch_flip=true, bool patch_rotate=true, bool patch_transpose=true, float filter_width_ratio=0.25f)
 Synthesize a new heightmap by stitching together small patches from input heightmaps.
 
Array hmap::quilting_blend (const std::vector< const Array * > &p_arrays, hmap::Vec2< int > patch_base_shape, float overlap, uint seed, bool patch_flip=true, bool patch_rotate=true, bool patch_transpose=true, float filter_width_ratio=0.25f)
 Synthesize a new heightmap by stitching together small patches from a list of input heightmaps.
 
Array hmap::quilting_expand (const Array &array, float expansion_ratio, hmap::Vec2< int > patch_base_shape, float overlap, uint seed, std::vector< Array * > secondary_arrays={}, bool keep_input_shape=false, bool patch_flip=true, bool patch_rotate=true, bool patch_transpose=true, float filter_width_ratio=0.25f)
 Synthesize a new heightmap by expanding the input heightmap and stitching patches.
 
Array hmap::quilting_shuffle (const Array &array, hmap::Vec2< int > patch_base_shape, float overlap, uint seed, std::vector< Array * > secondary_arrays={}, bool patch_flip=true, bool patch_rotate=true, bool patch_transpose=true, float filter_width_ratio=0.25f)
 Synthesize a new heightmap by reshuffling patches of the input heightmap.
 

Detailed Description

Provides functions for synthesizing new heightmaps from input arrays.

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)

This header file defines functions for synthesizing new heightmaps by using various techniques such as non-parametric sampling, patch quilting, and blending. These functions allow for the generation of larger or modified heightmaps based on input data, using methods like patch stitching and random sampling.

Functions provided:

  • non_parametric_sampling: Generates a new heightmap using non-parametric sampling.
  • quilting: Synthesizes a new heightmap by stitching patches from a set of input heightmaps.
  • quilting_blend: Similar to quilting, but includes blending of patches.
  • quilting_expand: Synthesizes a larger heightmap by expanding and stitching patches from an input heightmap.
  • quilting_shuffle: Similar to quilting_expand, but reshuffles patches to generate a new heightmap with the same shape.