summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painter_symbol.cpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-05-24 17:57:08 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-05-25 21:37:58 -0700
commitc568a8ad77320c869d8e7c23b86426c094aceb6c (patch)
tree24b821b4cd8f374344feaba4d3be51e9cc37d1a8 /src/mbgl/renderer/painter_symbol.cpp
parentd7a477b16586d830d9b0862f732302c4ae06aca5 (diff)
downloadqtlocation-mapboxgl-c568a8ad77320c869d8e7c23b86426c094aceb6c.tar.gz
[core] Port "separate u_opacity from u_color"
https://github.com/mapbox/mapbox-gl-shaders/commit/0d3412519618a3a1672db9fa21f96f90070cf84c https://github.com/mapbox/mapbox-gl-js/commit/1f5afa7db08a2bdcc492a46e500ff5d020e6f4a2
Diffstat (limited to 'src/mbgl/renderer/painter_symbol.cpp')
-rw-r--r--src/mbgl/renderer/painter_symbol.cpp18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp
index 5e23a835dd..59a543a987 100644
--- a/src/mbgl/renderer/painter_symbol.cpp
+++ b/src/mbgl/renderer/painter_symbol.cpp
@@ -87,15 +87,8 @@ void Painter::renderSDF(SymbolBucket &bucket,
// to draw the halo first.
if (haloColor[3] > 0.0f && haloWidth > 0.0f) {
sdfShader.u_gamma = (haloBlur * blurOffset / fontScale / sdfPx + gamma) * gammaScale;
-
- if (opacity < 1.0f) {
- haloColor[0] *= opacity;
- haloColor[1] *= opacity;
- haloColor[2] *= opacity;
- haloColor[3] *= opacity;
- }
-
sdfShader.u_color = haloColor;
+ sdfShader.u_opacity = opacity;
sdfShader.u_buffer = (haloOffset - haloWidth / fontScale) / sdfPx;
setDepthSublayer(0);
@@ -105,15 +98,8 @@ void Painter::renderSDF(SymbolBucket &bucket,
// Then, we draw the text/icon over the halo
if (color[3] > 0.0f) {
sdfShader.u_gamma = gamma * gammaScale;
-
- if (opacity < 1.0f) {
- color[0] *= opacity;
- color[1] *= opacity;
- color[2] *= opacity;
- color[3] *= opacity;
- }
-
sdfShader.u_color = color;
+ sdfShader.u_opacity = opacity;
sdfShader.u_buffer = (256.0f - 64.0f) / 256.0f;
setDepthSublayer(1);