summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painter_raster.cpp
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-07-02 11:57:00 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-07-02 18:04:20 +0300
commitaa1fa49af53d027ce9f030634b74b679b290e847 (patch)
tree0fd1260497cb86b72a3af8d2a25a65425fd97aaf /src/mbgl/renderer/painter_raster.cpp
parent3bf85cc55d662c218e371a03040c4cd5c3cca771 (diff)
downloadqtlocation-mapboxgl-aa1fa49af53d027ce9f030634b74b679b290e847.tar.gz
[core] Update RasterShader
Ref: https://github.com/mapbox/mapbox-gl-shaders/issues/1
Diffstat (limited to 'src/mbgl/renderer/painter_raster.cpp')
-rw-r--r--src/mbgl/renderer/painter_raster.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/mbgl/renderer/painter_raster.cpp b/src/mbgl/renderer/painter_raster.cpp
index c137caf2f6..6f2352b0cd 100644
--- a/src/mbgl/renderer/painter_raster.cpp
+++ b/src/mbgl/renderer/painter_raster.cpp
@@ -18,12 +18,16 @@ void Painter::renderRaster(RasterBucket& bucket,
const RasterPaintProperties& properties = layer.impl->paint;
if (bucket.hasData()) {
- const auto& shaderRaster = isOverdraw() ? rasterOverdrawShader : rasterShader;
- auto& vaoRaster = isOverdraw() ? coveringRasterOverdrawArray : coveringRasterArray;
+ const bool overdraw = isOverdraw();
+ const auto& shaderRaster = overdraw ? rasterOverdrawShader : rasterShader;
+ auto& vaoRaster = overdraw ? coveringRasterOverdrawArray : coveringRasterArray;
+
config.program = shaderRaster->getID();
shaderRaster->u_matrix = matrix;
- shaderRaster->u_buffer = 0;
- shaderRaster->u_opacity = properties.rasterOpacity;
+ shaderRaster->u_buffer_scale = 1.0f;
+ shaderRaster->u_opacity0 = properties.rasterOpacity;
+ shaderRaster->u_opacity1 = 1.0f - properties.rasterOpacity;
+
shaderRaster->u_brightness_low = properties.rasterBrightnessMin;
shaderRaster->u_brightness_high = properties.rasterBrightnessMax;
shaderRaster->u_saturation_factor = saturationFactor(properties.rasterSaturation);
@@ -32,14 +36,17 @@ void Painter::renderRaster(RasterBucket& bucket,
config.stencilTest = GL_FALSE;
- shaderRaster->u_image = 0;
- config.activeTexture = GL_TEXTURE0;
+ shaderRaster->u_image0 = 0; // GL_TEXTURE0
+ shaderRaster->u_image1 = 1; // GL_TEXTURE1
+ shaderRaster->u_tl_parent = {{ 0.0f, 0.0f }};
+ shaderRaster->u_scale_parent = 1.0f;
config.depthFunc.reset();
config.depthTest = GL_TRUE;
config.depthMask = GL_FALSE;
setDepthSublayer(0);
- bucket.drawRaster(*shaderRaster, tileStencilBuffer, vaoRaster, store);
+
+ bucket.drawRaster(*shaderRaster, rasterBoundsBuffer, vaoRaster, config, store);
}
}