diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-06-04 15:43:27 +0200 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-06-13 12:21:50 -0700 |
commit | 2cbc3d3332e32054e9fdc5323fef8e98f5f99a79 (patch) | |
tree | 05f2564ff02eeccc6b27e567df20daca5ca425bb /src/mbgl/shaders/line_pattern.cpp | |
parent | 978363a47f3c15aa4f3ac42bd63d5f65a4f827b0 (diff) | |
download | qtlocation-mapboxgl-2cbc3d3332e32054e9fdc5323fef8e98f5f99a79.tar.gz |
[core] add shader defines for enabling/disabling attributes/uniforms for DDS
Diffstat (limited to 'src/mbgl/shaders/line_pattern.cpp')
-rw-r--r-- | src/mbgl/shaders/line_pattern.cpp | 60 |
1 files changed, 58 insertions, 2 deletions
diff --git a/src/mbgl/shaders/line_pattern.cpp b/src/mbgl/shaders/line_pattern.cpp index a413d98e9f..ded4c76825 100644 --- a/src/mbgl/shaders/line_pattern.cpp +++ b/src/mbgl/shaders/line_pattern.cpp @@ -36,22 +36,62 @@ varying vec2 v_width2; varying float v_linesofar; varying float v_gamma_scale; + +#ifndef HAS_UNIFORM_u_blur uniform lowp float a_blur_t; attribute lowp vec2 a_blur; varying lowp float blur; +#else +uniform lowp float u_blur; +#endif + +#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_offset uniform lowp float a_offset_t; attribute lowp vec2 a_offset; +#else +uniform lowp float u_offset; +#endif + +#ifndef HAS_UNIFORM_u_gapwidth uniform lowp float a_gapwidth_t; attribute mediump vec2 a_gapwidth; +#else +uniform mediump float u_gapwidth; +#endif void main() { + +#ifndef HAS_UNIFORM_u_blur blur = unpack_mix_vec2(a_blur, a_blur_t); +#else + lowp float blur = u_blur; +#endif + +#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_offset lowp float offset = unpack_mix_vec2(a_offset, a_offset_t); +#else + lowp float offset = u_offset; +#endif + +#ifndef HAS_UNIFORM_u_gapwidth mediump float gapwidth = unpack_mix_vec2(a_gapwidth, a_gapwidth_t); +#else + mediump float gapwidth = u_gapwidth; +#endif vec2 a_extrude = a_data.xy - 128.0; float a_direction = mod(a_data.z, 4.0) - 1.0; @@ -119,12 +159,28 @@ varying vec2 v_width2; varying float v_linesofar; varying float v_gamma_scale; + +#ifndef HAS_UNIFORM_u_blur varying lowp float blur; +#else +uniform lowp float u_blur; +#endif + +#ifndef HAS_UNIFORM_u_opacity varying lowp float opacity; +#else +uniform lowp float u_opacity; +#endif void main() { - - + +#ifdef HAS_UNIFORM_u_blur + lowp float blur = u_blur; +#endif + +#ifdef HAS_UNIFORM_u_opacity + lowp float opacity = u_opacity; +#endif // Calculate the distance of the pixel from the line in pixels. float dist = length(v_normal) * v_width2.s; |