Do not draw vectors outside viewport
This commit is contained in:
@@ -73,11 +73,17 @@ ol.renderer.webgl.VectorLayer.prototype.composeFrame = function(frameState, laye
|
|||||||
this.layerState_ = layerState;
|
this.layerState_ = layerState;
|
||||||
var viewState = frameState.viewState;
|
var viewState = frameState.viewState;
|
||||||
var replayGroup = this.replayGroup_;
|
var replayGroup = this.replayGroup_;
|
||||||
|
var size = frameState.size;
|
||||||
|
var pixelRatio = frameState.pixelRatio;
|
||||||
|
var gl = this.mapRenderer.getGL();
|
||||||
if (replayGroup && !replayGroup.isEmpty()) {
|
if (replayGroup && !replayGroup.isEmpty()) {
|
||||||
|
gl.enable(gl.SCISSOR_TEST);
|
||||||
|
gl.scissor(0, 0, size[0] * pixelRatio, size[1] * pixelRatio);
|
||||||
replayGroup.replay(context,
|
replayGroup.replay(context,
|
||||||
viewState.center, viewState.resolution, viewState.rotation,
|
viewState.center, viewState.resolution, viewState.rotation,
|
||||||
frameState.size, frameState.pixelRatio, layerState.opacity,
|
size, pixelRatio, layerState.opacity,
|
||||||
layerState.managed ? frameState.skippedFeatureUids : {});
|
layerState.managed ? frameState.skippedFeatureUids : {});
|
||||||
|
gl.disable(gl.SCISSOR_TEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user