diff --git a/src/renderer/painter_fill.cpp b/src/renderer/painter_fill.cpp index 8d86716aa..6fe4c2cb9 100644 --- a/src/renderer/painter_fill.cpp +++ b/src/renderer/painter_fill.cpp @@ -174,6 +174,12 @@ void Painter::renderFill(FillBucket& bucket, const std::string& layer_name, cons glViewport(0, 0, properties.prerenderSize, properties.prerenderSize); + const FillProperties modifiedProperties = [&]{ + FillProperties modifiedProperties = properties; + modifiedProperties.opacity = 1; + return modifiedProperties; + }(); + // When drawing the fill, we want to draw a 16.66% buffer around too, so we // essentially downscale everyting, and then upscale it later when rendering. @@ -183,9 +189,9 @@ void Painter::renderFill(FillBucket& bucket, const std::string& layer_name, cons matrix::translate(vtxMatrix, vtxMatrix, 0, -4096, 0); pass = Opaque; - renderFill(bucket, properties, id, vtxMatrix); + renderFill(bucket, modifiedProperties, id, vtxMatrix); pass = Translucent; - renderFill(bucket, properties, id, vtxMatrix); + renderFill(bucket, modifiedProperties, id, vtxMatrix); bucket.prerendered->blur(*this, properties.prerenderBlur); diff --git a/src/renderer/painter_prerender.cpp b/src/renderer/painter_prerender.cpp index 7d6abcb35..be78487f3 100644 --- a/src/renderer/painter_prerender.cpp +++ b/src/renderer/painter_prerender.cpp @@ -17,6 +17,7 @@ void Painter::renderPrerenderedTexture(Bucket &bucket, const GenericProperties & glActiveTexture(GL_TEXTURE0); rasterShader->setImage(0); rasterShader->setBuffer(buffer); + rasterShader->setOpacity(properties.opacity); bucket.prerendered->bindTexture(); coveringRasterArray.bind(*rasterShader, tileStencilBuffer, BUFFER_OFFSET(0)); glDrawArrays(GL_TRIANGLES, 0, (GLsizei)tileStencilBuffer.index());