summaryrefslogtreecommitdiff
path: root/src/mbgl/shaders/fill_outline_pattern.cpp
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2018-09-19 13:21:02 -0700
committerChris Loer <chris.loer@mapbox.com>2018-09-19 16:19:28 -0700
commitf7a69d15ab1f43598caaa9498cc7e8aa7a11af0c (patch)
treed02c7a07078e91123e0763f8c7ac120cff223777 /src/mbgl/shaders/fill_outline_pattern.cpp
parent9b09ec1e6a4de3acfddd8dcd83e9c8596c60e0e0 (diff)
downloadqtlocation-mapboxgl-f7a69d15ab1f43598caaa9498cc7e8aa7a11af0c.tar.gz
[docs] Include uncompressed shader source in .cpp comments
This is meant to (1) Make it easier for new developers to find the source (2) Make it easier to look at shader diffs when the GL JS pin changes
Diffstat (limited to 'src/mbgl/shaders/fill_outline_pattern.cpp')
-rw-r--r--src/mbgl/shaders/fill_outline_pattern.cpp166
1 files changed, 166 insertions, 0 deletions
diff --git a/src/mbgl/shaders/fill_outline_pattern.cpp b/src/mbgl/shaders/fill_outline_pattern.cpp
index 8ea5aee66b..0505f55fee 100644
--- a/src/mbgl/shaders/fill_outline_pattern.cpp
+++ b/src/mbgl/shaders/fill_outline_pattern.cpp
@@ -10,5 +10,171 @@ const char* fill_outline_pattern::name = "fill_outline_pattern";
const char* fill_outline_pattern::vertexSource = source() + 20843;
const char* fill_outline_pattern::fragmentSource = source() + 22928;
+// Uncompressed source of fill_outline_pattern.vertex.glsl:
+/*
+uniform mat4 u_matrix;
+uniform vec2 u_world;
+uniform vec2 u_pixel_coord_upper;
+uniform vec2 u_pixel_coord_lower;
+uniform vec4 u_scale;
+
+attribute vec2 a_pos;
+
+varying vec2 v_pos_a;
+varying vec2 v_pos_b;
+varying vec2 v_pos;
+
+
+#ifndef HAS_UNIFORM_u_opacity
+uniform lowp float a_opacity_t;
+attribute lowp vec2 a_opacity;
+varying lowp float opacity;
+#else
+uniform lowp float u_opacity;
+#endif
+
+
+#ifndef HAS_UNIFORM_u_pattern_from
+uniform lowp float a_pattern_from_t;
+attribute lowp vec4 a_pattern_from;
+varying lowp vec4 pattern_from;
+#else
+uniform lowp vec4 u_pattern_from;
+#endif
+
+
+#ifndef HAS_UNIFORM_u_pattern_to
+uniform lowp float a_pattern_to_t;
+attribute lowp vec4 a_pattern_to;
+varying lowp vec4 pattern_to;
+#else
+uniform lowp vec4 u_pattern_to;
+#endif
+
+
+void main() {
+
+#ifndef HAS_UNIFORM_u_opacity
+ opacity = unpack_mix_vec2(a_opacity, a_opacity_t);
+#else
+ lowp float opacity = u_opacity;
+#endif
+
+
+#ifndef HAS_UNIFORM_u_pattern_from
+ pattern_from = a_pattern_from;
+#else
+ mediump vec4 pattern_from = u_pattern_from;
+#endif
+
+
+#ifndef HAS_UNIFORM_u_pattern_to
+ pattern_to = a_pattern_to;
+#else
+ mediump vec4 pattern_to = u_pattern_to;
+#endif
+
+
+ vec2 pattern_tl_a = pattern_from.xy;
+ vec2 pattern_br_a = pattern_from.zw;
+ vec2 pattern_tl_b = pattern_to.xy;
+ vec2 pattern_br_b = pattern_to.zw;
+
+ float pixelRatio = u_scale.x;
+ float tileRatio = u_scale.y;
+ float fromScale = u_scale.z;
+ float toScale = u_scale.w;
+
+ gl_Position = u_matrix * vec4(a_pos, 0, 1);
+
+ vec2 display_size_a = vec2((pattern_br_a.x - pattern_tl_a.x) / pixelRatio, (pattern_br_a.y - pattern_tl_a.y) / pixelRatio);
+ vec2 display_size_b = vec2((pattern_br_b.x - pattern_tl_b.x) / pixelRatio, (pattern_br_b.y - pattern_tl_b.y) / pixelRatio);
+
+ v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, fromScale * display_size_a, tileRatio, a_pos);
+ v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, toScale * display_size_b, tileRatio, a_pos);
+
+ v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;
+}
+
+*/
+
+// Uncompressed source of fill_outline_pattern.fragment.glsl:
+/*
+
+uniform vec2 u_texsize;
+uniform sampler2D u_image;
+uniform float u_fade;
+
+varying vec2 v_pos_a;
+varying vec2 v_pos_b;
+varying vec2 v_pos;
+
+
+#ifndef HAS_UNIFORM_u_opacity
+varying lowp float opacity;
+#else
+uniform lowp float u_opacity;
+#endif
+
+
+#ifndef HAS_UNIFORM_u_pattern_from
+varying lowp vec4 pattern_from;
+#else
+uniform lowp vec4 u_pattern_from;
+#endif
+
+
+#ifndef HAS_UNIFORM_u_pattern_to
+varying lowp vec4 pattern_to;
+#else
+uniform lowp vec4 u_pattern_to;
+#endif
+
+
+void main() {
+
+#ifdef HAS_UNIFORM_u_opacity
+ lowp float opacity = u_opacity;
+#endif
+
+
+#ifdef HAS_UNIFORM_u_pattern_from
+ mediump vec4 pattern_from = u_pattern_from;
+#endif
+
+
+#ifdef HAS_UNIFORM_u_pattern_to
+ mediump vec4 pattern_to = u_pattern_to;
+#endif
+
+
+ vec2 pattern_tl_a = pattern_from.xy;
+ vec2 pattern_br_a = pattern_from.zw;
+ vec2 pattern_tl_b = pattern_to.xy;
+ vec2 pattern_br_b = pattern_to.zw;
+
+ vec2 imagecoord = mod(v_pos_a, 1.0);
+ vec2 pos = mix(pattern_tl_a / u_texsize, pattern_br_a / u_texsize, imagecoord);
+ vec4 color1 = texture2D(u_image, pos);
+
+ vec2 imagecoord_b = mod(v_pos_b, 1.0);
+ vec2 pos2 = mix(pattern_tl_b / u_texsize, pattern_br_b / u_texsize, imagecoord_b);
+ vec4 color2 = texture2D(u_image, pos2);
+
+ // find distance to outline for alpha interpolation
+
+ float dist = length(v_pos - gl_FragCoord.xy);
+ float alpha = 1.0 - smoothstep(0.0, 1.0, dist);
+
+
+ gl_FragColor = mix(color1, color2, u_fade) * alpha * opacity;
+
+#ifdef OVERDRAW_INSPECTOR
+ gl_FragColor = vec4(1.0);
+#endif
+}
+
+*/
+
} // namespace shaders
} // namespace mbgl