diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-11-14 16:58:25 +0200 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2019-12-02 17:11:49 +0200 |
commit | 26bf566f535e55c6d82830e3b0f5a2702a0fec42 (patch) | |
tree | fde3beaa430e06151b68f6c346bc7b103debd28b /src/mbgl/programs/gl/symbol_sdf_icon.cpp | |
parent | 2c49c4374cb9e3654c1d347b1071542918ce5fd2 (diff) | |
download | qtlocation-mapboxgl-26bf566f535e55c6d82830e3b0f5a2702a0fec42.tar.gz |
[core] Use new 'SymbolTextAndIcon' program to draw icons in text
Diffstat (limited to 'src/mbgl/programs/gl/symbol_sdf_icon.cpp')
-rw-r--r-- | src/mbgl/programs/gl/symbol_sdf_icon.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/mbgl/programs/gl/symbol_sdf_icon.cpp b/src/mbgl/programs/gl/symbol_sdf_icon.cpp index 661fc7d298..9ab54cbdd3 100644 --- a/src/mbgl/programs/gl/symbol_sdf_icon.cpp +++ b/src/mbgl/programs/gl/symbol_sdf_icon.cpp @@ -1,5 +1,5 @@ // NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED. - +// clang-format off #include <mbgl/programs/symbol_sdf_icon_program.hpp> #include <mbgl/programs/gl/preludes.hpp> #include <mbgl/programs/gl/shader_source.hpp> @@ -15,9 +15,9 @@ struct ShaderSource; template <> struct ShaderSource<SymbolSDFIconProgram> { static constexpr const char* name = "symbol_sdf_icon"; - static constexpr const uint8_t hash[8] = { 0x4b, 0x0b, 0x5f, 0x6b, 0xa9, 0xec, 0x84, 0x19 }; - static constexpr const auto vertexOffset = 53300; - static constexpr const auto fragmentOffset = 57334; + static constexpr const uint8_t hash[8] = {0x8e, 0xbe, 0xa0, 0x1c, 0x9f, 0x81, 0x4d, 0x39}; + static constexpr const auto vertexOffset = 53260; + static constexpr const auto fragmentOffset = 57227; }; constexpr const char* ShaderSource<SymbolSDFIconProgram>::name; @@ -161,15 +161,14 @@ void main() { vec2 a_tex = a_data.xy; vec2 a_size = a_data.zw; + float a_size_min = floor(a_size[0] * 0.5); highp float segment_angle = -a_projected_pos[2]; float size; if (!u_is_size_zoom_constant && !u_is_size_feature_constant) { - size = mix(a_size[0], a_size[1], u_size_t) / 256.0; + size = mix(a_size_min, a_size[1], u_size_t) / 128.0; } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) { - size = a_size[0] / 256.0; - } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) { - size = u_size; + size = a_size_min / 128.0; } else { size = u_size; } @@ -215,12 +214,11 @@ void main() { gl_Position = u_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0); float gamma_scale = gl_Position.w; - vec2 tex = a_tex / u_texsize; vec2 fade_opacity = unpack_opacity(a_fade_opacity); float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change; float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change)); - v_data0 = vec2(tex.x, tex.y); + v_data0 = a_tex / u_texsize; v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity); } @@ -332,4 +330,4 @@ void main() { } */ - +// clang-format on |