summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_background_layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers/render_background_layer.cpp')
-rw-r--r--src/mbgl/renderer/layers/render_background_layer.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp
index 2dc5fe7339..ad85fe0cce 100644
--- a/src/mbgl/renderer/layers/render_background_layer.cpp
+++ b/src/mbgl/renderer/layers/render_background_layer.cpp
@@ -34,6 +34,7 @@ void RenderBackgroundLayer::transition(const TransitionParameters &parameters) {
void RenderBackgroundLayer::evaluate(const PropertyEvaluationParameters &parameters) {
evaluated = unevaluated.evaluate(parameters);
+ crossfade = parameters.getCrossfadeParameters();
passes = evaluated.get<style::BackgroundOpacity>() > 0 ? RenderPass::Translucent
: RenderPass::None;
@@ -43,6 +44,10 @@ bool RenderBackgroundLayer::hasTransition() const {
return unevaluated.hasTransition();
}
+bool RenderBackgroundLayer::hasCrossfade() const {
+ return crossfade.t != 1;
+}
+
void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
// Note that for bottommost layers without a pattern, the background color is drawn with
// glClear rather than this method.
@@ -97,7 +102,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.imageManager.getPixelSize(),
*imagePosA,
*imagePosB,
- evaluated.get<BackgroundPattern>(),
+ crossfade,
tileID,
parameters.state
)
@@ -108,9 +113,9 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
draw(
parameters.programs.background,
BackgroundProgram::UniformValues {
- uniforms::u_matrix::Value{ parameters.matrixForTile(tileID) },
- uniforms::u_color::Value{ evaluated.get<BackgroundColor>() },
- uniforms::u_opacity::Value{ evaluated.get<BackgroundOpacity>() },
+ uniforms::u_matrix::Value( parameters.matrixForTile(tileID) ),
+ uniforms::u_color::Value( evaluated.get<BackgroundColor>() ),
+ uniforms::u_opacity::Value( evaluated.get<BackgroundOpacity>() ),
}
);
}