From a56f65a4d81b2ee7e1b76816b125c3a7516ceb2a Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Wed, 15 Jun 2016 18:01:02 +0300 Subject: [PATCH] [core] Removed duplicated code in circle shader blur Antialiased blur calculation now happens inside the vertex shader code. --- src/mbgl/renderer/painter_circle.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/mbgl/renderer/painter_circle.cpp b/src/mbgl/renderer/painter_circle.cpp index 995392195..24cc9806e 100644 --- a/src/mbgl/renderer/painter_circle.cpp +++ b/src/mbgl/renderer/painter_circle.cpp @@ -27,12 +27,6 @@ void Painter::renderCircle(CircleBucket& bucket, mat4 vtxMatrix = translatedMatrix(matrix, properties.circleTranslate, tileID, properties.circleTranslateAnchor); - // Antialiasing factor: this is a minimum blur distance that serves as - // a faux-antialiasing for the circle. since blur is a ratio of the circle's - // size and the intent is to keep the blur at roughly 1px, the two - // are inversely related. - float antialiasing = 1 / frame.pixelRatio / properties.circleRadius; - config.program = circleShader->getID(); circleShader->u_matrix = vtxMatrix; @@ -40,7 +34,7 @@ void Painter::renderCircle(CircleBucket& bucket, circleShader->u_devicepixelratio = frame.pixelRatio; circleShader->u_color = properties.circleColor; circleShader->u_radius = properties.circleRadius; - circleShader->u_blur = std::max(properties.circleBlur, antialiasing); + circleShader->u_blur = properties.circleBlur; circleShader->u_opacity = properties.circleOpacity; bucket.drawCircles(*circleShader, store);