summaryrefslogtreecommitdiff
path: root/src/mbgl/programs/gl/symbol_sdf_icon.cpp
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2019-11-14 16:58:25 +0200
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2019-12-02 17:11:49 +0200
commit26bf566f535e55c6d82830e3b0f5a2702a0fec42 (patch)
treefde3beaa430e06151b68f6c346bc7b103debd28b /src/mbgl/programs/gl/symbol_sdf_icon.cpp
parent2c49c4374cb9e3654c1d347b1071542918ce5fd2 (diff)
downloadqtlocation-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.cpp20
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