From e2fadf3157561456c0bc7b57a4e402d965194270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Tue, 11 Aug 2015 16:34:51 +0300 Subject: [PATCH] don't clip glyphs with the frustum --- src/mbgl/renderer/painter.cpp | 2 +- src/mbgl/shader/sdf.vertex.glsl | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 70c621564..8c6cfd20b 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -130,7 +130,7 @@ void Painter::lineWidth(float line_width) { void Painter::changeMatrix() { // Initialize projection matrix - matrix::ortho(projMatrix, 0, state.getWidth(), state.getHeight(), 0, 0, 1); + matrix::ortho(projMatrix, 0, state.getWidth(), state.getHeight(), 0, -1, 1); // The extrusion matrix. matrix::identity(extrudeMatrix); diff --git a/src/mbgl/shader/sdf.vertex.glsl b/src/mbgl/shader/sdf.vertex.glsl index 416a9bca5..192459f9d 100644 --- a/src/mbgl/shader/sdf.vertex.glsl +++ b/src/mbgl/shader/sdf.vertex.glsl @@ -28,7 +28,7 @@ void main() { float a_maxzoom = a_zoom[1]; // u_zoom is the current zoom level adjusted for the change in font size - float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom)); + float show = step(a_minzoom, u_zoom) * (1.0 - step(a_maxzoom, u_zoom)); // fade out labels float alpha = clamp((u_fadezoom - a_labelminzoom) / u_fadedist, 0.0, 1.0); @@ -46,8 +46,8 @@ void main() { } // if label has been faded out, clip it - z += step(v_alpha, 0.0); + show *= (1.0 - step(v_alpha, 0.0)); - gl_Position = u_matrix * vec4(a_pos, 0, 1) + u_exmatrix * vec4(a_offset / 64.0, z, 0); + gl_Position = u_matrix * vec4(a_pos, 0, 1) + u_exmatrix * vec4(a_offset * show / 64.0, 0, 0); v_tex = a_tex / u_texsize; }