diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-07-05 12:27:00 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-07-07 14:32:27 -0700 |
commit | c09fb0f5197be81cca8e925bcfd46c11b871b94e (patch) | |
tree | c4b6ea795e799121a49b68e273e360272be5db84 /src/mbgl/renderer | |
parent | c8e87128b1e9f1e49c486fa01533644cf14c78e8 (diff) | |
download | qtlocation-mapboxgl-c09fb0f5197be81cca8e925bcfd46c11b871b94e.tar.gz |
[core] Add support for circle-pitch-scale
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/painter_circle.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mbgl/renderer/painter_circle.cpp b/src/mbgl/renderer/painter_circle.cpp index 5bc31f7f81..8e9f1909bb 100644 --- a/src/mbgl/renderer/painter_circle.cpp +++ b/src/mbgl/renderer/painter_circle.cpp @@ -32,10 +32,18 @@ void Painter::renderCircle(CircleBucket& bucket, config.program = circleShader.getID(); circleShader.u_matrix = vtxMatrix; - circleShader->u_extrude_scale = {{ - pixelsToGLUnits[0] * state.getAltitude(), - pixelsToGLUnits[1] * state.getAltitude() - }}; + + if (properties.circlePitchScale == CirclePitchScaleType::Map) { + circleShader.u_extrude_scale = {{ + pixelsToGLUnits[0] * state.getAltitude(), + pixelsToGLUnits[1] * state.getAltitude() + }}; + circleShader.u_scale_with_map = true; + } else { + circleShader.u_extrude_scale = pixelsToGLUnits; + circleShader.u_scale_with_map = false; + } + circleShader.u_devicepixelratio = frame.pixelRatio; circleShader.u_color = properties.circleColor; circleShader.u_radius = properties.circleRadius; |