Pass render target of previous layer to next layer

This commit is contained in:
ahocevar
2019-05-16 20:41:54 +02:00
parent b0fae46aa6
commit 606443bc6d
5 changed files with 65 additions and 18 deletions
+6 -3
View File
@@ -87,7 +87,7 @@ class CompositeMapRenderer extends MapRenderer {
const viewResolution = frameState.viewState.resolution;
this.children_.length = 0;
let element = null;
let previousElement = null;
for (let i = 0, ii = layerStatesArray.length; i < ii; ++i) {
const layerState = layerStatesArray[i];
if (!visibleAtResolution(layerState, viewResolution) ||
@@ -96,9 +96,12 @@ class CompositeMapRenderer extends MapRenderer {
}
const layer = layerState.layer;
element = layer.render(frameState);
const element = layer.render(frameState, previousElement);
if (element) {
this.children_.push(element);
previousElement = element;
if (element !== this.children_[this.children_.length - 1]) {
this.children_.push(element);
}
}
}
super.renderFrame(frameState);