15#include <glm/vec2.hpp>
16#include <glm/vec4.hpp>
38 std::unique_ptr<TileStorage> storage_proto);
71 void from_arrays(
const std::vector<const Array *> &p_arrays,
74 std::vector<uint8_t>
to_img_8bit(
const glm::ivec2 &img_shape,
76 bool flip_y =
false)
const;
78 void to_png(
const glm::ivec2 &array_shape,
79 const std::string &fname,
81 int depth = CV_8U)
const;
83 void to_png(
const std::string &fname,
85 int depth = CV_8U)
const;
102 std::vector<VirtualArray> arrays;
140 bool reverse =
false,
164 const std::vector<float> &positions,
165 const std::vector<glm::vec3> &colormap_colors,
167 bool reverse =
false,
199 const std::vector<float> &positions1,
200 const std::vector<float> &positions2,
201 const std::vector<glm::vec3> &colormap_colors1,
202 const std::vector<glm::vec3> &colormap_colors2,
204 bool reverse1 =
false,
205 bool reverse2 =
false,
246 std::vector<VirtualTexture *> &texs,
264 float detail_scaling,
267template <
typename Func>
270template <
typename Func>
A class to represent a multi-channel texture using planar hmap::Array storage.
Definition texture.hpp:37
Definition virtual_texture.hpp:27
int halo
Definition virtual_texture.hpp:99
std::vector< uint8_t > to_img_8bit(const glm::ivec2 &img_shape, const ComputeMode &c, bool flip_y=false) const
Definition virtual_texture.cpp:160
void from_arrays(const std::vector< const Array * > &p_arrays, const ComputeMode &cm)
Definition virtual_texture.cpp:136
void copy_from(VirtualTexture &src, const ComputeMode &cm)
Definition virtual_texture.cpp:108
void fill(float value, const ComputeMode &cm)
Definition virtual_texture.cpp:123
std::vector< VirtualArray * > channels_ptr()
Definition virtual_texture.cpp:86
size_t live_memory_bytes() const
Definition virtual_texture.cpp:251
int channels() const
Definition virtual_texture.cpp:72
std::vector< float > to_raw(const ComputeMode &cm, bool flip_y=false)
Definition virtual_texture.cpp:200
glm::ivec2 tile_shape
Definition virtual_texture.hpp:98
Texture to_texture(const glm::ivec2 &img_shape, const ComputeMode &cm) const
Definition virtual_texture.cpp:226
glm::vec4 bbox
Definition virtual_texture.hpp:97
void trim_storage() const
Definition virtual_texture.cpp:245
VirtualArray & channel(int c)
Definition virtual_texture.cpp:77
void to_png(const glm::ivec2 &array_shape, const std::string &fname, const ComputeMode &cm, int depth=CV_8U) const
Definition virtual_texture.cpp:176
glm::ivec2 shape
Definition virtual_texture.hpp:96
std::vector< VirtualArray > & get_arrays()
Definition virtual_texture.cpp:155
Header file for functions related to applying colorization and hillshading.
Definition algebra.hpp:23
Texture colorize_bivariate(const Array &a1, const Array &a2, const glm::vec2 range1, const glm::vec2 range2, const std::vector< float > &positions1, const std::vector< float > &positions2, const std::vector< glm::vec3 > &colormap_colors1, const std::vector< glm::vec3 > &colormap_colors2, MixMethod method=MM_SQRT_AVG, bool reverse1=false, bool reverse2=false, const Array *p_noise1=nullptr, const Array *p_noise2=nullptr)
Colorize two scalar fields into a Texture using two custom colormaps and a color mixing method.
Definition colorize.cpp:243
void for_each_tile(VirtualTexture &tex, Func &&func, const ComputeMode &cm)
Texture mix_normal_map(const Texture &nmap_base, const Texture &nmap_detail, float detail_scaling, NormalMapBlendingMethod blending_method)
Blend two normal maps into a single output normal map.
Definition colorize.cpp:714
void for_each_pixel(VirtualTexture &tex, Func &&func, const ComputeMode &cm)
Texture colorize(const Array &array, float vmin, float vmax, int cmap, bool hillshading, bool reverse=false, const Array *p_noise=nullptr)
Apply colorization to an array.
Definition colorize.cpp:108
NormalMapBlendingMethod
Definition colorize.hpp:51
Cmap
Enumeration for different colormap types.
Definition colormaps.hpp:83
StorageMode
Definition tile_storage.hpp:30
MixMethod
Methods for mixing/blending texture colors.
Definition colorize.hpp:44
@ MM_SQRT_AVG
Square-root average mixing.
Definition colorize.hpp:46
Texture mix(const Texture &tex1, const Texture &tex2, MixMethod method=MM_SQRT_AVG)
Mix two textures into an output texture.
Definition colorize.cpp:550
Array luminance(const Texture &tex)
Compute luminance from a Texture.
Definition colorize.cpp:544
VirtualTexture convert_texture_channels(const VirtualTexture &src, int dst_channels, float fill_value, const ComputeMode &cm)
Definition convert_texture_channels.cpp:18
Definition virtual_array.hpp:56
Definition virtual_array.hpp:68
Header file for the Texture class.