diff options
Diffstat (limited to 'src/mbgl/renderer/layers/render_background_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_background_layer.cpp | 13 |
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 ¶meters) { void RenderBackgroundLayer::evaluate(const PropertyEvaluationParameters ¶meters) { 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>() ), } ); } |