summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painters/painter_circle.cpp
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2017-07-05 13:59:45 -0700
committerChris Loer <chris.loer@mapbox.com>2017-07-06 09:39:26 -0700
commitd5fbcb242acff2ab270b4018b01c2c6be9c4955f (patch)
tree8ced368c0026c8fa3cdeee174fa8e17b2a2a61e9 /src/mbgl/renderer/painters/painter_circle.cpp
parent3800edb133ea0bbeb7fc613dc8f6975d0d6b6513 (diff)
downloadqtlocation-mapboxgl-d5fbcb242acff2ab270b4018b01c2c6be9c4955f.tar.gz
[core] Implement circle-pitch-alignment property
Closes issue #9349.
Diffstat (limited to 'src/mbgl/renderer/painters/painter_circle.cpp')
-rw-r--r--src/mbgl/renderer/painters/painter_circle.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mbgl/renderer/painters/painter_circle.cpp b/src/mbgl/renderer/painters/painter_circle.cpp
index 58e384979d..a077f557fc 100644
--- a/src/mbgl/renderer/painters/painter_circle.cpp
+++ b/src/mbgl/renderer/painters/painter_circle.cpp
@@ -22,6 +22,7 @@ void Painter::renderCircle(PaintParameters& parameters,
const CirclePaintProperties::PossiblyEvaluated& properties = layer.evaluated;
const bool scaleWithMap = properties.get<CirclePitchScale>() == CirclePitchScaleType::Map;
+ const bool pitchWithMap = properties.get<CirclePitchAlignment>() == AlignmentType::Map;
parameters.programs.circle.get(properties).draw(
context,
@@ -38,12 +39,13 @@ void Painter::renderCircle(PaintParameters& parameters,
state)
},
uniforms::u_scale_with_map::Value{ scaleWithMap },
- uniforms::u_extrude_scale::Value{ scaleWithMap
+ uniforms::u_extrude_scale::Value{ pitchWithMap
? std::array<float, 2> {{
- pixelsToGLUnits[0] * state.getCameraToCenterDistance(),
- pixelsToGLUnits[1] * state.getCameraToCenterDistance()
- }}
- : pixelsToGLUnits }
+ tile.id.pixelsToTileUnits(1, state.getZoom()),
+ tile.id.pixelsToTileUnits(1, state.getZoom()) }}
+ : pixelsToGLUnits },
+ uniforms::u_camera_to_center_distance::Value{ state.getCameraToCenterDistance() },
+ uniforms::u_pitch_with_map::Value{ pitchWithMap }
},
*bucket.vertexBuffer,
*bucket.indexBuffer,