diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-08-01 13:03:53 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-08-02 09:59:50 -0700 |
commit | 466728b441308de4bb0579d8b871c587607c76ae (patch) | |
tree | 097d5117cc4a39567e2a4f80ae2cc4fac18625cc /src/mbgl/shaders/line_sdf.cpp | |
parent | ae1d9eceadb0c7ab556b76e746af567e0a0b9835 (diff) | |
download | qtlocation-mapboxgl-466728b441308de4bb0579d8b871c587607c76ae.tar.gz |
[core] Simplify generate-shaders.js
We moved the #pragma ⇢ #ifndef logic into gl-js.
Diffstat (limited to 'src/mbgl/shaders/line_sdf.cpp')
-rw-r--r-- | src/mbgl/shaders/line_sdf.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/mbgl/shaders/line_sdf.cpp b/src/mbgl/shaders/line_sdf.cpp index 168f4ca98d..e1aadffcf4 100644 --- a/src/mbgl/shaders/line_sdf.cpp +++ b/src/mbgl/shaders/line_sdf.cpp @@ -49,6 +49,7 @@ varying highp vec4 color; uniform highp vec4 u_color; #endif + #ifndef HAS_UNIFORM_u_blur uniform lowp float a_blur_t; attribute lowp vec2 a_blur; @@ -57,6 +58,7 @@ varying lowp float blur; uniform lowp float u_blur; #endif + #ifndef HAS_UNIFORM_u_opacity uniform lowp float a_opacity_t; attribute lowp vec2 a_opacity; @@ -65,6 +67,7 @@ varying lowp float opacity; uniform lowp float u_opacity; #endif + #ifndef HAS_UNIFORM_u_gapwidth uniform lowp float a_gapwidth_t; attribute mediump vec2 a_gapwidth; @@ -72,6 +75,7 @@ attribute mediump vec2 a_gapwidth; uniform mediump float u_gapwidth; #endif + #ifndef HAS_UNIFORM_u_offset uniform lowp float a_offset_t; attribute lowp vec2 a_offset; @@ -79,6 +83,7 @@ attribute lowp vec2 a_offset; uniform lowp float u_offset; #endif + #ifndef HAS_UNIFORM_u_width uniform lowp float a_width_t; attribute mediump vec2 a_width; @@ -87,6 +92,7 @@ varying mediump float width; uniform mediump float u_width; #endif + #ifndef HAS_UNIFORM_u_floorwidth uniform lowp float a_floorwidth_t; attribute lowp vec2 a_floorwidth; @@ -95,50 +101,58 @@ varying lowp float floorwidth; uniform lowp float u_floorwidth; #endif -void main() { +void main() { + #ifndef HAS_UNIFORM_u_color color = unpack_mix_vec4(a_color, a_color_t); #else highp vec4 color = u_color; #endif + #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_gapwidth mediump float gapwidth = unpack_mix_vec2(a_gapwidth, a_gapwidth_t); #else mediump float gapwidth = u_gapwidth; #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_width width = unpack_mix_vec2(a_width, a_width_t); #else mediump float width = u_width; #endif + #ifndef HAS_UNIFORM_u_floorwidth floorwidth = unpack_mix_vec2(a_floorwidth, a_floorwidth_t); #else lowp float floorwidth = u_floorwidth; #endif + vec2 a_extrude = a_data.xy - 128.0; float a_direction = mod(a_data.z, 4.0) - 1.0; float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE; @@ -209,52 +223,62 @@ varying highp vec4 color; uniform highp vec4 u_color; #endif + #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 + #ifndef HAS_UNIFORM_u_width varying mediump float width; #else uniform mediump float u_width; #endif + #ifndef HAS_UNIFORM_u_floorwidth varying lowp float floorwidth; #else uniform lowp float u_floorwidth; #endif -void main() { +void main() { + #ifdef HAS_UNIFORM_u_color highp vec4 color = u_color; #endif + #ifdef HAS_UNIFORM_u_blur lowp float blur = u_blur; #endif + #ifdef HAS_UNIFORM_u_opacity lowp float opacity = u_opacity; #endif + #ifdef HAS_UNIFORM_u_width mediump float width = u_width; #endif + #ifdef HAS_UNIFORM_u_floorwidth lowp float floorwidth = u_floorwidth; #endif + // Calculate the distance of the pixel from the line in pixels. float dist = length(v_normal) * v_width2.s; |