From e124b34b24854966480d82b4743983ae030810da Mon Sep 17 00:00:00 2001 From: GaborFarkas Date: Mon, 10 Oct 2016 17:19:25 +0200 Subject: [PATCH] Correctly draw polygons with transparent border --- src/ol/render/webgl/linestringreplay/index.js | 2 +- src/ol/render/webgl/replay.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ol/render/webgl/linestringreplay/index.js b/src/ol/render/webgl/linestringreplay/index.js index 70c694ece6..a9472ba727 100644 --- a/src/ol/render/webgl/linestringreplay/index.js +++ b/src/ol/render/webgl/linestringreplay/index.js @@ -495,6 +495,7 @@ ol.render.webgl.LineStringReplay.prototype.drawReplay = function(gl, context, sk gl.enable(gl.DEPTH_TEST); gl.depthMask(true); gl.depthFunc(gl.NOTEQUAL); + gl.clear(gl.DEPTH_BUFFER_BIT); } if (!ol.obj.isEmpty(skippedFeaturesHash)) { @@ -515,7 +516,6 @@ ol.render.webgl.LineStringReplay.prototype.drawReplay = function(gl, context, sk } } if (!hitDetection) { - gl.clear(gl.DEPTH_BUFFER_BIT); gl.disable(gl.DEPTH_TEST); //Restore GL parameters. gl.depthMask(tmpDepthMask); diff --git a/src/ol/render/webgl/replay.js b/src/ol/render/webgl/replay.js index 71b228388c..2044856682 100644 --- a/src/ol/render/webgl/replay.js +++ b/src/ol/render/webgl/replay.js @@ -252,6 +252,13 @@ ol.render.webgl.Replay.prototype.replay = function(context, featureCallback, oneByOne, opt_hitExtent) { var gl = context.getGL(); + if (this.lineStringReplay) { + this.lineStringReplay.replay(context, + center, resolution, rotation, size, pixelRatio, + opacity, skippedFeaturesHash, + featureCallback, oneByOne, opt_hitExtent); + } + // bind the vertices buffer ol.DEBUG && console.assert(this.verticesBuffer, 'verticesBuffer must not be null'); @@ -299,13 +306,6 @@ ol.render.webgl.Replay.prototype.replay = function(context, // disable the vertex attrib arrays this.shutDownProgram_(gl, locations); - if (this.lineStringReplay) { - this.lineStringReplay.replay(context, - center, resolution, rotation, size, pixelRatio, - opacity, skippedFeaturesHash, - featureCallback, oneByOne, opt_hitExtent); - } - return result; };