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

Go to the source code of this file.

Classes

class  hmap::Tile
 Tile class, to manipulate a restricted region of an heightmap (with contextual informations). More...
 
class  hmap::Heightmap
 HeightMap class, to manipulate heightmap (with contextual informations). More...
 
struct  hmap::HeightmapRGB
 HeightMap class, to manipulate a set of RGB heightmap for heightmap texturing. More...
 
struct  hmap::HeightmapRGBA
 HeightMap class, to manipulate a set of RGBA heightmap for heightmap texturing. More...
 

Namespaces

namespace  hmap
 

Enumerations

enum  hmap::NormalMapBlendingMethod : int {
  hmap::NMAP_LINEAR , hmap::NMAP_DERIVATIVE , hmap::NMAP_UDN , hmap::NMAP_UNITY ,
  hmap::NMAP_WHITEOUT
}
 
enum  hmap::TransformMode : int { hmap::DISTRIBUTED , hmap::SEQUENTIAL , hmap::SINGLE_ARRAY }
 

Functions

HeightmapRGBA hmap::mix_heightmap_rgba (HeightmapRGBA &rgba1, HeightmapRGBA &rgba2, bool use_sqrt_avg=true)
 
HeightmapRGBA hmap::mix_heightmap_rgba (std::vector< HeightmapRGBA * > p_rgba_list, bool use_sqrt_avg=true)
 
HeightmapRGBA hmap::mix_normal_map_rgba (HeightmapRGBA &nmap_base, HeightmapRGBA &nmap_detail, float detail_scaling=1.f, NormalMapBlendingMethod blending_method=NormalMapBlendingMethod::NMAP_DERIVATIVE)
 Mixes two normal maps in RGBA format to create a blended normal map.
 
void hmap::fill (Heightmap &h, Heightmap *p_noise_x, Heightmap *p_noise_y, std::function< Array(Vec2< int >, Vec4< float >, Array *p_noise_x, Array *p_noise_y)> nullary_op)
 Fills the heightmap using the provided noise maps and operation.
 
void hmap::fill (Heightmap &h, Heightmap &hin, Heightmap *p_noise_x, Heightmap *p_noise_y, std::function< Array(hmap::Array &, Vec2< int >, Vec4< float >, hmap::Array *, hmap::Array *)> nullary_op)
 
void hmap::fill (Heightmap &h, Heightmap *p_noise_x, Heightmap *p_noise_y, Heightmap *p_stretching, std::function< Array(Vec2< int >, Vec4< float >, hmap::Array *, hmap::Array *, hmap::Array *)> nullary_op)
 
void hmap::fill (Heightmap &h, Heightmap *p_noise, std::function< Array(Vec2< int >, Vec4< float >, Array *p_noise)> nullary_op)
 
void hmap::fill (Heightmap &h, std::function< Array(Vec2< int >, Vec4< float >)> nullary_op)
 
void hmap::fill (Heightmap &h, std::function< Array(Vec2< int >)> nullary_op)
 
void hmap::transform (Heightmap &h, std::function< void(Array &)> unary_op)
 
void hmap::transform (Heightmap &h, std::function< void(Array &, Vec4< float >)> unary_op)
 
void hmap::transform (Heightmap &h, Heightmap *p_noise_x, std::function< void(Array &, Vec4< float >, Array *)> unary_op)
 
void hmap::transform (Heightmap &h, Heightmap *p_noise_x, Heightmap *p_noise_y, std::function< void(Array &, Vec4< float >, Array *, Array *)> unary_op)
 
void hmap::transform (Heightmap &h, std::function< void(Array &, Vec2< float >, Vec2< float >)> unary_op)
 
void hmap::transform (Heightmap &h, Heightmap *p_mask, std::function< void(Array &, Array *)> unary_op)
 
void hmap::transform (Heightmap &h, hmap::Heightmap *p_1, hmap::Heightmap *p_2, hmap::Heightmap *p_3, hmap::Heightmap *p_4, hmap::Heightmap *p_5, std::function< void(Array &, Array *, Array *, Array *, Array *, Array *)> unary_op)
 
void hmap::transform (Heightmap &h, hmap::Heightmap *p_1, hmap::Heightmap *p_2, hmap::Heightmap *p_3, std::function< void(Array &, Array *, Array *, Array *)> unary_op)
 
void hmap::transform (Heightmap &h, hmap::Heightmap *p_1, hmap::Heightmap *p_2, std::function< void(Array &, Array *, Array *)> unary_op)
 
void hmap::transform (Heightmap &h1, Heightmap &h2, std::function< void(Array &, Array &)> binary_op)
 
void hmap::transform (Heightmap &h1, Heightmap &h2, std::function< void(Array &, Array &, Vec4< float >)> binary_op)
 
void hmap::transform (Heightmap &h1, Heightmap &h2, Heightmap &h3, std::function< void(Array &, Array &, Array &)> ternary_op)
 
void hmap::transform (Heightmap &h1, Heightmap &h2, Heightmap &h3, std::function< void(Array &, Array &, Array &, Vec4< float >)> ternary_op)
 
void hmap::transform (Heightmap &h_out, Heightmap &h1, std::function< Array(Array &)> unary_op)
 
void hmap::transform (Heightmap &h_out, Heightmap &h1, Heightmap &h2, std::function< Array(Array &, Array &)> binary_op)
 
void hmap::transform (Heightmap &h1, Heightmap &h2, Heightmap &h3, Heightmap &h4, std::function< void(Array &, Array &, Array &, Array &)> ternary_op)
 
void hmap::transform (Heightmap &h1, Heightmap &h2, Heightmap &h3, Heightmap &h4, Heightmap &h5, Heightmap &h6, std::function< void(Array &, Array &, Array &, Array &, Array &, Array &)> op)
 
void hmap::transform (std::vector< Heightmap * > p_hmaps, std::function< void(const std::vector< Array * >, const hmap::Vec2< int >, const hmap::Vec4< float >)> op, TransformMode transform_mode=TransformMode::DISTRIBUTED)
 Applies a transformation operation to a collection of heightmaps.
 
void hmap::transform (std::vector< Heightmap * > p_hmaps, std::function< void(const std::vector< Array * >)> op, TransformMode transform_mode=TransformMode::DISTRIBUTED)
 

Detailed Description

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)
Version
0.1
Date
2023-07-23